US20030046017A1 - Deployment console for use with a computer system deploying software to remotely located devices - Google Patents
Deployment console for use with a computer system deploying software to remotely located devices Download PDFInfo
- Publication number
- US20030046017A1 US20030046017A1 US10/164,188 US16418802A US2003046017A1 US 20030046017 A1 US20030046017 A1 US 20030046017A1 US 16418802 A US16418802 A US 16418802A US 2003046017 A1 US2003046017 A1 US 2003046017A1
- Authority
- US
- United States
- Prior art keywords
- software
- computer system
- assignment
- deployment
- synchronization
- 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.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
Definitions
- This invention relates to providing a deployment console for managing deployment and installation of software on mobile devices, such as handheld computers, Internet capable phone, personal digital assistants (PDAs), and laptops, as well as desktop computers, from a central computer system, so that such devices and computers may run business applications offline in a platform-independent framework and synchronize data with a computer system, such as a business electronic commerce system, via a standard Internet connection or other connection.
- mobile devices such as handheld computers, Internet capable phone, personal digital assistants (PDAs), and laptops, as well as desktop computers
- Another situation where such a system would be useful would be with sales personnel that call on customers. For instance, during a sales call, a customer may desire to change a previously placed order. The sales person would then need to record a modified order. Exchanging this information through a computer system would make much more sense than doing so verbally and would also provide a computer record of the transaction.
- An embodiment of the present invention provides a deployment console for a computer system that provides the ability to control and manage the downloading and installation of software on mobile devices over a standard Internet connection or other connection.
- Another embodiment of the present invention provides a deployment console for a computer system providing for role-based and personal-based assignment of offline applications to be run on mobile devices.
- Another embodiment of the present invention provides a deployment console capable of automatically downloading software to be used on mobile devices.
- FIG. 1 is a block diagram of a mobile device according to an embodiment of the present invention.
- FIG. 2 is a block diagram of a mobile device having an API layer according to an embodiment of the present invention.
- FIG. 3 is a block diagram of a synchronization system according to an embodiment of the present invention.
- FIG. 4 is a block diagram of a computer system having a synchronization system according to an embodiment of the present invention.
- FIG. 5 is a flow chart illustrating a synchronization process according to an embodiment of the present invention.
- FIG. 6 is a block diagram of a deployment console according to an embodiment of the present invention.
- FIG. 7 is a flow chart illustrating a deployment process according to an embodiment of the present invention.
- FIG. 8 is a flow chart illustrating a deployment process according to another embodiment of the present invention.
- FIG. 1 depicts a mobile device according to an embodiment of the present invention.
- Mobile device 100 may be a PDA, a laptop computer, an Internet capable phone, or another similar device.
- the mobile device has an operating system with Java VM 1.1.4 or PersonalJava and at least about 5 MB of memory.
- mobile engine 110 is based on Java, so that it may run on any platform supporting Java.
- Mobile device 100 contains an Internet browser 105 . It also contains mobile engine 110 .
- Mobile engine 110 should be capable of generating any standard markup language, such as HTML, so that Internet browser 105 may be a standard browser, such as Microsoft Internet Explorer or Netscape, rather than a proprietary one. However, a proprietary browser could be used on mobile device 100 in addition to or in lieu of the standard browser if desired.
- Mobile engine 110 contains two major components: a Java plug-in 90 and various components for data synchronization and deployment.
- the Java plug-in contains web server 115 , servlet engine 120 , modular offline application building blocks 125 , 130 and 135 , and API layer 145 . All of the information to start and run the Java plug-in is preferably held in separate property files.
- the information related to the web server including host, port, and wwwroot, can exist in a file named webserver.properties.
- the information related to mappings, such as URL to servlet mappings can exist in a file named mappings.properties.
- the information relating to mimes, such as mime types, can exist in a file named mime.properties.
- Web server 115 is preferably programmed in Java and provides the ability for the user of mobile device 100 to log onto web server 115 contained within mobile device 100 when operating offline. By doing so, the user is provided with the same or similar look and feel to operating online over the Internet and can run the same applications offline that the user could run over the Internet in an online mode.
- web server 115 is single threaded and has a small footprint.
- Web server 115 is connected to servlet engine 120 .
- Servlet engine 120 enables the mobile device's user to engage various offline applications locally on mobile device 100 through web server 115 .
- Servlet engine would preferably be based upon Java Servlet API 2.1.
- Web server 115 and servlet engine 120 preferably would meet the Sun Java WebServer 2.0 Specification.
- MicroITS model 125 contains a flow logic parser, HTML business parser, language resource parser/preparser and module provider.
- Java Server Pages model 130 may be deployed to take advantage of Java features. Java Server Pages model 130 would preferably be based upon TomCat.
- Custom plug-in model 135 can also be used as needed.
- Custom plug-in model would permit users to implement their own logic.
- These other models may be proprietary or standards-based.
- Mobile engine API layer 145 which will be discussed in more detail below, provides independence between modular offline application building blocks 125 , 130 , 135 and servlet engine 120 .
- Modular offline application building blocks 125 , 130 , and 135 utilize programming sources stored in memory 140 . While memory 140 is shown within mobile engine 110 , it may be located elsewhere.
- Mobile engine API layer 145 forms an interface between the various programming models 125 , 130 and 135 and the application data that resides on database 180 within mobile device 100 . While database 180 is shown within mobile engine 110 , it may be located elsewhere. By providing API layer 145 , alternative programming models, offline applications and services may be incorporated, activated or substituted for existing models, offline applications and services in the future without having to completely reprogram mobile engine 110 .
- API layer 145 contains file I/O APIs, database APIs, synchronization layer APIs and XML parsing APIs.
- API layer 145 also provides device independence so that any application can run on any device without specific programming for device specific dependencies.
- API layer 145 provides an interface between application or service 50 and the mobile device's file programming interface 40 on the mobile device platform 45 .
- Service 50 may be any of the previously mentioned services, such as data exchange 150 , or the like, or an offline application.
- API layer 145 consists of various module providers, such as EBP.class 5 , ISALES.class 10 and MY.class 15 .
- Java methods grouped in packages 20 , 30 , and 35 such that all methods needed for a specific function are part of a corresponding package, also form part of API layer 145 . These methods can be called by the appropriate module provider.
- Enterprise Buyer Professional is a product available from SAP Markets, Inc. It provides the ability, to coordinate the Internet business procurement process. The product permits the creation of shopping baskets and catalogs.
- a package for Enterprise Buyer Professional would include the module provider of EBP.class 5 and the groups of methods basket.class 20 a and catalog.class 20 b.
- Module providers 5 , 10 , and 15 instantiate the appropriate Java method calls and make them available for the flow logic in an application or service. There is always one module provider assigned to each package of the API layer 145 .
- Data exchange 150 is utilized during a synchronization procedure when data is to be exchanged between a computer system and mobile device 100 .
- a personalization service 160 can be included. Personalization permits the manipulation of settings necessary to operate within a given server environment, such as a server URL, logon data, proxy, etc. Multiple user control can be included if more than one user of a device would be anticipated.
- An installation service 165 can also be provided.
- Installation service 165 automatically installs or uninstalls offline applications, offline application building blocks and other software so that the device is outfitted as it should be based upon a deployment console, as will be discussed in detail later, located at the computer system.
- the installation service 165 creates a new entry in registry service 175 (discussed below) when a new application is installed and deletes an entry when an offline application is deleted. This function occurs in the background so as to be transparent to the user.
- Local database access 170 is provided to permit access to database 180 .
- a home service 172 can be provided that sets up a homepage that the user accesses offline that provides links to the offline applications resident on the mobile device.
- the synchronization service is accessible through this page by clicking on an icon, for example.
- Library service 174 offers standard functionality for application methods. It handles file operations and parsing. Library service 174 contains an open catalog interface and parser for XML parsing, as well as a local data storage encryptor.
- Registry service 175 maintains a list of all installed offline applications.
- registry service 175 can maintain a list of all installed software subject to deployment from the deployment console, which would include at least offline applications and modular offline application building blocks.
- information from the registry 175 is provided to the deployment console during a synchronization and used by the deployment console to make sure that mobile device 100 is outfitted as it should be. The operation of registry service 175 will be discussed in more detail later.
- Synchronization layer 185 is part of mobile engine 110 .
- Synchronization layer 185 controls the synchronization of data on mobile device 100 with computer system 200 once the mobile device achieves connection through the Internet (or alternatively, through another means) to computer system 200 , such as an application server, as is represented by box 195 .
- the synchronization layer 185 does this by sending the data containers resident in synchronization folder 187 .
- Synchronization layer 185 preferably will contain an inbound/outbound queue, module(s) supporting different types of synchronization, a file handler, an error handler, a SOAP connector for XML, a data transmission security module, a synchronization security module and an authority checker. The details of the creation of such components would be apparent to one skilled in the art. This synchronization layer 185 and synchronization process will be discussed in greater detail later.
- a few examples of offline applications that can be run on mobile device 100 are now discussed. Such applications can be created through the use of a tool such as Web Application Builder by SAP, AG.
- One such application is an easy shopping application. Easy shopping permits one-step wireless shopping and buying, personalized product offerings, seamless integration into a full internet sales cycle, seamless integration into a procurement cycle, intelligent status tracking/synchronization, easy changing web templates, XML catalog content exchange, and provides the identical look and feel for sales and procurement.
- Functions supported could be catalog, shopping cart, synchronization, and order status.
- the catalog can include search functionality and can hierarchically group products.
- the shopping basket allows for the creation of multiple orders and provides order status information. When this data from this application is synchronized with the central computer system, catalog content, orders, and software can be updated.
- Manager's inbox is another possible offline application. Manager's inbox contains an inbox overview listing incoming messages and work items. View selection can be available. When an inbox item is clicked, the message or the work item can be displayed. Work item details such as the ability to approve or reject a work item and forms can be shown. During synchronization, inbox items, item details, and approvals/forms would be updated.
- Plant maintenance is another application.
- Plant maintenance includes an order section.
- Functions possible with plant maintenance could include searching for open or released orders, selecting operations, and adding components.
- the catalog function can provide a hierarchical view catalog with search functionality. During synchronization open and released orders would be exchanged, catalogs would be updated and new components would be added.
- FIG. 3 a synchronization system according to an embodiment of the present invention is shown.
- Mobile device 100 is shown connected to computer system 200 through a connection such as the Internet. Other networks or a direct connection can alternatively be used.
- the synchronization process could begin through clicking on an icon, button, hyperlink or the like, on a home page displayed via the browser. Alternatively, it could automatically occur upon a link being established between mobile device 100 and computer system 200 .
- Mobile engine 110 through API layer 145 and synchronization layer 185 , talks with functional module 220 on computer system 200 through synchronization RFC 210 .
- This communication is carried out through the use of data containers, such as data container 230 .
- Data container 230 is normally made up of a header 240 and a body 250 .
- the header 240 can be made up of the following parts: 1) a container ID that uniquely identifies the particular container; 2) an identification of the user of the device; 3) an identification of the type of container; 4) the method describing which function module should be called in the computer system to process the data; 5) the date the container is sent; 6) the time the container is sent; 7) the date the method was executed to create the data container; 8) the time the method was executed; and 9) the status relating to the data.
- the body 250 of container 230 can be made up of a container ID, line number, field name and field value.
- FIG. 4 shows a computer system with synchronization capability and FIG. 5 shows a synchronization process according to an embodiment of the present invention.
- the synchronization layer on the computer system has an inbound/outbound queue, module(s) for different types of synchronization, a dispatcher, a spooler, a file handler, an error handler, a mapping algorithm, a data transmission security module, a synchronization security module, and an authority checker.
- module(s) for different types of synchronization a dispatcher, a spooler, a file handler, an error handler, a mapping algorithm, a data transmission security module, a synchronization security module, and an authority checker.
- the embodiment shown in FIG. 5 includes an optional data preservation scheme.
- a container In order to preserve the containers, a container is maintained on at least one location. The container on the mobile device will remain on the mobile device if a problem occurs such as the connection getting lost during synchronization. If that occurs, it will be sent automatically with the next synchronization. If there is no entry in the mapping table for the function module call, the container remains in the incoming table on the computer system and a program is used to generate an automatic mapping, as will be discussed later.
- the container remains in the incoming table. If the called function module has the wrong interface implemented, it remains on the incoming table. If the data contained in the container is errored, the called function module returns an error message to the mobile device for processing by the offline application.
- step 230 of FIG. 5 the user of mobile device 100 clicks the synch icon, button, hyperlink, or the like, on the home page to initiate the synchronization process.
- the synchronization class reads all data containers in the synchronization folder and compares the containers with a history table that records the container IDs for containers already sent by the mobile device 100 and received by computer system 200 as shown in step 232 . This is done so that duplicate containers, should they arise for some reason, such as a reboot of the mobile device, can be deleted from the mobile device without sending them.
- step 234 the synchronization class sends the remaining containers over the synchronization transport layer to synchronization RFC function module 210 in the computer system in step 252 .
- step 236 the synchronization RFC function module 210 writes the incoming containers into container database 260 .
- the incoming containers are stored in database 260 as a failsafe to ensure that the containers are available should a problem occur after they are passed on to mapping layer 265 .
- Synchronization RFC function also reads out from the outgoing container database 275 any data containers with the same class and user as those received and sends them to mobile device 100 . Additionally, it sends an acknowledgement for the containers just received and stored in incoming container database 260 .
- step 238 the mobile device 100 then writes the container ID referred to by the acknowledgment into a history table indicating that it was previously received by the computer system 200 and no longer needs to be maintained on the mobile device 100 .
- the container is then deleted off of mobile device 100 .
- step 240 the incoming containers are read out of inbound container database 260 by scheduled function module 265 .
- scheduled function module 265 consults mapping table stored in database 270 to map the data within the container so that it may be processed accordingly.
- Scheduled function module 265 then calls the appropriate function module 220 to execute the function required in step 244 .
- One such function module could be an EBP processing function, for example.
- step 246 appropriate function module 220 sends back responsive data, such as status, to scheduled function module 265 .
- Scheduled function module 265 then places the data in a container and writes it to outgoing container database 275 in step 248 .
- the responsive outgoing containers may be sent immediately in step 249 or may be stored until the next time a synchronization process is initiated.
- the first type is publish synchronization.
- the type of container used can be called an outbound container.
- the outbound container is created in mobile device 100 and, when a connection is present, is sent to computer system 200 for processing. Once it has been received by computer system 200 , any return containers waiting to be sent to the same user and of the same method are sent back to the user. The connection is terminated however, prior to any outgoing containers responsive to the data just sent by the user being sent back to the mobile device.
- the second type of synchronization is online processing. This type is similar to publish but includes return of responsive outgoing containers having processed data relating to the container that was just sent.
- the owner sends a request-type container. First the connection is made. Then the request-type container is sent. The container is then received by the computer system 200 . Because it is a request type container, the computer system returns not only any containers waiting to be sent to the same owner of the same method, but also processes the incoming container and sends a response to that container prior to the connection being terminated.
- the third type of synchronization is subscribe. Subscribe synchronization is used to check on the status of previously sent containers. For instance, it can be used to check on the status of an electronic order placed through a shopping cart.
- the owner sends a notify-type container to computer system 200 .
- Computer system 200 then returns containers of same method and user. Such containers need not include a body, as the status information is contained within the head of the containers.
- a generator tool can generate the wrapper function module that maps the generic structure of a container to the individual interface of a function module and generate the table entries for the mapping table.
- the tool will utilize the programming language of the computer system.
- a tool can also be used as a Java class generator to handle flow logic to Java for modular offline application building blocks 125 and/or 135 .
- the tool utilizes Java on the mobile device.
- These tools are essentially translators. Creation of such translators would be well within the abilities of one of ordinary skill in the art.
- a computer aided test tool can also be created and used for modular application building blocks 125 and/or 135 .
- a deployment console 400 is resident on the computer system as one of the application function modules 220 .
- Deployment console 400 is preferably programmed in a language supported by computer system 200 .
- the computer system is a MySAP Workplace system by SAP, AG, then the deployment console could be programmed in ABAP.
- Deployment console 400 has an overview of all installed offline applications per user and device through an installation log 432 that records that an installation has occurred whenever an offline application, modular offline application building blocks or other software is deployed and installed on a device.
- Role assignment module 410 permits an administrator to assign a user to a role and to assign what software should be installed for each role.
- a user may have one or more roles if desired.
- personal assignment module 412 can be provided. Personal assignment module 412 would permit an administration to assign an application that may be needed by an individual, but not by others within the same role. For example, a vice president of sales may be assigned a role of vice president, but may need some but not all applications of the salesman role. Personal assignment module 412 would permit such customization.
- the deployment console 400 can also manage versions of software for deployment by defining the current version of each offline application that should be installed. Version control module 416 provides an administrator with this functionality.
- Storage media such as database 418 , keeps track of what software should be installed on each device for each user. This data stored therein is based upon the parameters set by role assignment module 410 , personal assignment module 412 and version control module 416 .
- Storage media 436 is provided upon which software that may be downloaded to a device and installed thereupon is provided.
- software may include offline applications, modular offline application building blocks, patches, and other software.
- Installation protocol module 434 is provided. It permits an administrator to update or alter installation protocol.
- Device type/ID handler 440 is provided which determines how to handle different device types.
- Installer 430 is provided that retrieves software from storage media 436 for downloading and installation on a device. This is done based upon the comparison of information from a registry service on a device to information stored in database 418 relating to what is supposed to be resident on that particular device. Additionally, installer 430 is equipped to provide mobile device with a deinstall instruction should the information from the registry service indicate that software is installed on the device that should not be.
- installer 430 retrieves software from storage media 436 and sends it off to a device and retrieves a notice from the device that the software was received, it stores the information relating to the download and install in install log 432 .
- Install log 432 , database 418 , and storage media 436 may be collocated or separate. Moreover, they may be a part of deployment console 400 as shown, or alternatively, any of them may be located externally.
- FIG. 7 A process for deploying and installing the framework according to an embodiment of the present invention is shown in FIG. 7.
- a user opens browser 105 on mobile device 100 and connects to computer system 200 online as shown in step 300 . Once online, an install mobile engine icon, hyperlink or the like is displayed. In step 305 , the user selects to install mobile engine 110 by clicking on the icon, hyperlink or the like.
- step 310 the mobile engine framework is downloaded to mobile device 100 and, preferably, is automatically installed by installation service 165 . Once installation is complete, the user connects into the deployment console system in step 315 .
- a data container containing information from registry service 175 is sent to a deployment console on computer system 200 .
- the console reads the registry and determines that no offline applications are currently installed on mobile device 100 and then downloads the appropriate applications that are supposed to reside on mobile device 100 .
- These offline applications are installed automatically by installation service 165 .
- Installation service 165 also automatically updates registry service 175 to reflect the installation of the new offline applications.
- a deployment console When a deployment console receives information from a registry service that indicates an outdated version of a program or a version requiring a patch is resident on a mobile device, the current version and/or patch can be sent to the device and installed and the old version deinstalled, as needed, just as any other program, as will be described with respect to FIG. 8. It should also maintain error logs sent by the mobile devices.
- step 350 the user opens browser 105 and connects to computer system 200 through the Internet, or the like, using the synchronization function.
- mobile device 100 then sends a data container containing the data within the registry service 175 that is eventually retrieved by the deployment console as shown in step 355 .
- This retrieval may be in the manner discussed above relating to the retrieval of data from data containers during the synchronization process.
- the console compares the data from registry service 175 to stored information that reflects what offline applications (or alternatively what software that is subject to deployment through deployment console) are supposed to be resident on mobile device 100 in step 360 .
- step 365 it is determined if changes need to be made to the mobile device.
- a few examples of changes that may need to be made include: 1) an offline application may no longer be authorized and may need to be deleted from the mobile device; 2) a new application may need to be added; 3) a new version of an existing application may need to be placed on the mobile device; 4) a patch for an existing application may need to be installed on the mobile device; 5) modular application building blocks may need to be deleted and/or installed; and 6) other software such as special extra HTML pages and/or graphics, for example, may need to be added or deleted, such as for a “Christmas” special.
- step 370 it is determined if a deinstall is needed. If one is, then a data container is sent to mobile device 100 directing installation function 165 to deinstall the appropriate offline application or other software. It is then determined if an install is necessary in step 385 . If no install is needed, then the routine ends. If an install is needed, in step 390 , the offline application or other software to be installed is downloaded to mobile device and installed automatically through the installation function 165 .
Abstract
A deployment console controlling and managing the deployment and installation of software, including a platform-independent framework and offline applications, on devices, such as a personal digital assistant, Internet capable phone, handheld computer, laptop computer or desktop computer, remotely located from a central computer system. The framework and applications permitting the devices to run applications offline and synchronize data with the central computer system.
Description
- This application arises from provisional applications 60/296,234 filed on Jun. 6, 2001 and 60/296,993 filed on Jun. 8, 2001 and claims the benefit thereof.
- This invention relates to providing a deployment console for managing deployment and installation of software on mobile devices, such as handheld computers, Internet capable phone, personal digital assistants (PDAs), and laptops, as well as desktop computers, from a central computer system, so that such devices and computers may run business applications offline in a platform-independent framework and synchronize data with a computer system, such as a business electronic commerce system, via a standard Internet connection or other connection.
- Many businesses have a need to exchange information between a central location and employees operating in the field. In the computerized age, much of this information is stored on computer systems. Because many field employees may have a mobile computing platform, such as a laptop computer, handheld computer, personal digital assistant or Internet-enabled phone with which to work. Thus, it would be beneficial to enable the exchange of information between the computer system and the devices deployed in the field.
- One situation where such system would be useful is with a field engineer. At the start of a day, the engineer may need to determine his daily tasks and at the end of the day he may need to report his progress back to his employer. Rather than exchange this information verbally, it would make more sense to download the tasks he has to perform that day from a central computer system onto a mobile computing platform. When he finishes his tasks for the day, or at another convenient time, he could respond to the computer system with reports relating to the calls, setting forth the trouble found, the repair performed, the time it took to complete the job and/or any other desired information.
- Another situation where such a system would be useful would be with sales personnel that call on customers. For instance, during a sales call, a customer may desire to change a previously placed order. The sales person would then need to record a modified order. Exchanging this information through a computer system would make much more sense than doing so verbally and would also provide a computer record of the transaction.
- Companies, whose employees have a need for such devices, may have different classes of employees that may need different devices for their job functions. Their needs may differ due to size constraints, processing power needs, memory requirements or other reasons. Thus, it may be necessary for a company to deploy more than one type of device that can exchange information with a central computer system. Some jobs may require the use of personal digital assistants, while others require handheld computers, while still others require laptops. Others, that do not involve travel, may require desktops. For ease of use and management, it then becomes important that the software being used to perform the various tasks be platform-independent so that it may run on all devices that such a company may utilize.
- It also is important to permit the information to be entered on the devices while the device is offline. Field personnel are not always in locations where they can establish connectivity to the computer system. It would be beneficial, therefore, to permit the field personnel to enter the information they need to transmit back to the computer system when it is convenient for them, such as immediately following the repair, rather than making them enter the information while the device is online with the computer system.
- It is also important for ease of use that when people are working offline, the software operates in a similar way with a similar look and feel as though they were actively operating online.
- Because computer systems of this type can have hundreds or thousands of mobile device users that access the computer system from time-to-time, an easy way to keep track of what software is loaded on what device and to control software loads on the devices without inconveniencing the users is imperative. Thus, an easy way to control, manage, and monitor software installation on the devices is needed.
- A need exists for a deployment console for the deployment of a platform-independent mobile framework that would permit mobile devices or desktop computers to run business applications offline and to synchronize data with a computer systems over a standard Internet connection or other connection and to facilitate the automatic tracking, downloading, and installation of applications on the mobile devices from the computer system.
- An embodiment of the present invention provides a deployment console for a computer system that provides the ability to control and manage the downloading and installation of software on mobile devices over a standard Internet connection or other connection.
- Another embodiment of the present invention provides a deployment console for a computer system providing for role-based and personal-based assignment of offline applications to be run on mobile devices.
- Another embodiment of the present invention provides a deployment console capable of automatically downloading software to be used on mobile devices.
- As such, it is an object of the present invention to permit a computer system to control and manage the downloading and installation of software on mobile devices from a computer system over a standard Internet connection or other connection.
- It is a further object of the present invention to permit the role-based and personal-based control of what software is downloaded to mobile devices.
- It is a further object of the present invention to permit the automatic downloading and installation of software from a computer system onto a mobile device.
- FIG. 1 is a block diagram of a mobile device according to an embodiment of the present invention.
- FIG. 2 is a block diagram of a mobile device having an API layer according to an embodiment of the present invention.
- FIG. 3 is a block diagram of a synchronization system according to an embodiment of the present invention.
- FIG. 4 is a block diagram of a computer system having a synchronization system according to an embodiment of the present invention.
- FIG. 5 is a flow chart illustrating a synchronization process according to an embodiment of the present invention.
- FIG. 6 is a block diagram of a deployment console according to an embodiment of the present invention.
- FIG. 7 is a flow chart illustrating a deployment process according to an embodiment of the present invention.
- FIG. 8 is a flow chart illustrating a deployment process according to another embodiment of the present invention.
- The present invention will be better understood by reference to the accompanying drawings.
- FIG. 1 depicts a mobile device according to an embodiment of the present invention.
Mobile device 100 may be a PDA, a laptop computer, an Internet capable phone, or another similar device. Preferably, the mobile device has an operating system with Java VM 1.1.4 or PersonalJava and at least about 5 MB of memory. Preferably,mobile engine 110 is based on Java, so that it may run on any platform supporting Java. -
Mobile device 100 contains anInternet browser 105. It also containsmobile engine 110.Mobile engine 110 should be capable of generating any standard markup language, such as HTML, so that Internetbrowser 105 may be a standard browser, such as Microsoft Internet Explorer or Netscape, rather than a proprietary one. However, a proprietary browser could be used onmobile device 100 in addition to or in lieu of the standard browser if desired. - When
mobile device 100 is operating with a computer system over the Internet in an online mode and applications are being run fromcomputer system 200 across the connection,browser 105 is connected tocomputer system 200, such as an application server, in a traditional manner represented bybox 197. - When
mobile device 100 is operating in an offline mode and applications are being run locally onmobile device 100,mobile engine 110 is engaged.Mobile engine 110 contains two major components: a Java plug-in 90 and various components for data synchronization and deployment. The Java plug-in containsweb server 115,servlet engine 120, modular offlineapplication building blocks API layer 145. All of the information to start and run the Java plug-in is preferably held in separate property files. For instance, the information related to the web server, including host, port, and wwwroot, can exist in a file named webserver.properties. The information related to mappings, such as URL to servlet mappings, can exist in a file named mappings.properties. The information relating to mimes, such as mime types, can exist in a file named mime.properties. -
Web server 115 is preferably programmed in Java and provides the ability for the user ofmobile device 100 to log ontoweb server 115 contained withinmobile device 100 when operating offline. By doing so, the user is provided with the same or similar look and feel to operating online over the Internet and can run the same applications offline that the user could run over the Internet in an online mode. Preferably,web server 115 is single threaded and has a small footprint. -
Web server 115 is connected toservlet engine 120.Servlet engine 120 enables the mobile device's user to engage various offline applications locally onmobile device 100 throughweb server 115. Servlet engine would preferably be based upon Java Servlet API 2.1.Web server 115 andservlet engine 120 preferably would meet the Sun Java WebServer 2.0 Specification. - Various different programming models can be deployed in
mobile engine 110 as modular offline building blocks. For instance, aproprietary model 125, like SAPMarket's MicroITS, may be deployed which is designed to maximize certain types of transactions based upon the foreseen use ofmobile device 100.MicroITS model 125 contains a flow logic parser, HTML business parser, language resource parser/preparser and module provider. - A Java
Server Pages model 130 may be deployed to take advantage of Java features. JavaServer Pages model 130 would preferably be based upon TomCat. - Other models, such as custom plug-in
model 135, can also be used as needed. Custom plug-in model would permit users to implement their own logic. These other models may be proprietary or standards-based. By using modular offline application building blocks and permitting the use of one or more models, the mobile engine architecture is easy to enhance or modify. Moreover, new offline application building blocks can be downloaded and installed via the deployment and installation process discussed hereinafter with respect to FIGS. 6 and 7. Mobileengine API layer 145, which will be discussed in more detail below, provides independence between modular offlineapplication building blocks servlet engine 120. - Modular offline
application building blocks memory 140. Whilememory 140 is shown withinmobile engine 110, it may be located elsewhere. - Mobile
engine API layer 145 forms an interface between thevarious programming models database 180 withinmobile device 100. Whiledatabase 180 is shown withinmobile engine 110, it may be located elsewhere. By providingAPI layer 145, alternative programming models, offline applications and services may be incorporated, activated or substituted for existing models, offline applications and services in the future without having to completely reprogrammobile engine 110.API layer 145 contains file I/O APIs, database APIs, synchronization layer APIs and XML parsing APIs. - This mobile
engine API layer 145 also provides device independence so that any application can run on any device without specific programming for device specific dependencies. Referring now to FIG. 2,API layer 145 provides an interface between application orservice 50 and the mobile device'sfile programming interface 40 on themobile device platform 45.Service 50 may be any of the previously mentioned services, such asdata exchange 150, or the like, or an offline application. -
API layer 145 consists of various module providers, such asEBP.class 5,ISALES.class 10 andMY.class 15. Java methods grouped inpackages API layer 145. These methods can be called by the appropriate module provider. - For instance, Enterprise Buyer Professional is a product available from SAP Markets, Inc. It provides the ability, to coordinate the Internet business procurement process. The product permits the creation of shopping baskets and catalogs. A package for Enterprise Buyer Professional would include the module provider of
EBP.class 5 and the groups of methods basket.class 20 a and catalog.class 20 b. -
Module providers API layer 145. - Various services that can be integrated that operate through
API layer 145 are shown.Data exchange 150 is utilized during a synchronization procedure when data is to be exchanged between a computer system andmobile device 100. - Many business applications utilize XML. So an
XML translation service 155 can be provided. - A
personalization service 160 can be included. Personalization permits the manipulation of settings necessary to operate within a given server environment, such as a server URL, logon data, proxy, etc. Multiple user control can be included if more than one user of a device would be anticipated. - An
installation service 165 can also be provided.Installation service 165 automatically installs or uninstalls offline applications, offline application building blocks and other software so that the device is outfitted as it should be based upon a deployment console, as will be discussed in detail later, located at the computer system. Theinstallation service 165 creates a new entry in registry service 175 (discussed below) when a new application is installed and deletes an entry when an offline application is deleted. This function occurs in the background so as to be transparent to the user. -
Local database access 170 is provided to permit access todatabase 180. - A
home service 172 can be provided that sets up a homepage that the user accesses offline that provides links to the offline applications resident on the mobile device. Preferably, the synchronization service is accessible through this page by clicking on an icon, for example. -
Library service 174 offers standard functionality for application methods. It handles file operations and parsing.Library service 174 contains an open catalog interface and parser for XML parsing, as well as a local data storage encryptor. -
Registry service 175 maintains a list of all installed offline applications. Alternatively,registry service 175 can maintain a list of all installed software subject to deployment from the deployment console, which would include at least offline applications and modular offline application building blocks. Preferably, information from theregistry 175 is provided to the deployment console during a synchronization and used by the deployment console to make sure thatmobile device 100 is outfitted as it should be. The operation ofregistry service 175 will be discussed in more detail later. -
Synchronization layer 185 is part ofmobile engine 110.Synchronization layer 185 controls the synchronization of data onmobile device 100 withcomputer system 200 once the mobile device achieves connection through the Internet (or alternatively, through another means) tocomputer system 200, such as an application server, as is represented bybox 195. Thesynchronization layer 185 does this by sending the data containers resident insynchronization folder 187.Synchronization layer 185 preferably will contain an inbound/outbound queue, module(s) supporting different types of synchronization, a file handler, an error handler, a SOAP connector for XML, a data transmission security module, a synchronization security module and an authority checker. The details of the creation of such components would be apparent to one skilled in the art. Thissynchronization layer 185 and synchronization process will be discussed in greater detail later. - A few examples of offline applications that can be run on
mobile device 100 are now discussed. Such applications can be created through the use of a tool such as Web Application Builder by SAP, AG. One such application is an easy shopping application. Easy shopping permits one-step wireless shopping and buying, personalized product offerings, seamless integration into a full internet sales cycle, seamless integration into a procurement cycle, intelligent status tracking/synchronization, easy changing web templates, XML catalog content exchange, and provides the identical look and feel for sales and procurement. Functions supported could be catalog, shopping cart, synchronization, and order status. The catalog can include search functionality and can hierarchically group products. The shopping basket allows for the creation of multiple orders and provides order status information. When this data from this application is synchronized with the central computer system, catalog content, orders, and software can be updated. - Manager's inbox is another possible offline application. Manager's inbox contains an inbox overview listing incoming messages and work items. View selection can be available. When an inbox item is clicked, the message or the work item can be displayed. Work item details such as the ability to approve or reject a work item and forms can be shown. During synchronization, inbox items, item details, and approvals/forms would be updated.
- Plant maintenance is another application. Plant maintenance includes an order section. Functions possible with plant maintenance could include searching for open or released orders, selecting operations, and adding components. The catalog function can provide a hierarchical view catalog with search functionality. During synchronization open and released orders would be exchanged, catalogs would be updated and new components would be added.
- The discussion above, with respect to FIG. 1, focused on the use of the framework with a mobile device. Another use for this framework would be to install it as described above on a desktop computer rather than a mobile device or on a laptop that has a more or less permanent network connection. Having such a framework would permit users to run applications offline and then exchange information between the desktop and the computer system during a synchronization process. Thus, when offline application data needs to be provided to the computer system, it is provided to the system through the synchronization layer. The synchronization process can occur upon the clicking of an icon or hyperlink or the like, or alternatively, because a network connection does exist, it can automatically be provided without user intervention when data is available to be sent.
- By using the mobile engine framework on a desktop, or laptop with a somewhat permanent network connection, the volume of exchange of information between the computer system and the desktop can be minimized. This would mean that entire HTML pages would no longer need to be exchanged. Instead, just the data of the business objects would be exchanged.
- In FIG. 3, a synchronization system according to an embodiment of the present invention is shown.
Mobile device 100 is shown connected tocomputer system 200 through a connection such as the Internet. Other networks or a direct connection can alternatively be used. The synchronization process could begin through clicking on an icon, button, hyperlink or the like, on a home page displayed via the browser. Alternatively, it could automatically occur upon a link being established betweenmobile device 100 andcomputer system 200. - Sample Java code for initiating a synchronization process follows:
try{ SyncOutboundContainer.doSync ( ); } catch (SyncException ex) { // do something } -
Mobile engine 110, throughAPI layer 145 andsynchronization layer 185, talks withfunctional module 220 oncomputer system 200 throughsynchronization RFC 210. This communication is carried out through the use of data containers, such asdata container 230. -
Data container 230 is normally made up of aheader 240 and abody 250. However, certain types of containers may not require abody 250. Theheader 240 can be made up of the following parts: 1) a container ID that uniquely identifies the particular container; 2) an identification of the user of the device; 3) an identification of the type of container; 4) the method describing which function module should be called in the computer system to process the data; 5) the date the container is sent; 6) the time the container is sent; 7) the date the method was executed to create the data container; 8) the time the method was executed; and 9) the status relating to the data. Thebody 250 ofcontainer 230 can be made up of a container ID, line number, field name and field value. - The following is sample Java code for an outgoing data container:
String MyOwner; // best the username on the PDA try{ SyncOutboundContainer syncOutboundContainer = new SyncOutboundContainer(MyOwner,GETAPPROVERLIST ); syncOutboundContainer.open ( ); String value_for_I_CFGUID = // do something to fill value syncOutboundContainer.addItem (“I_CFGUID”, 0 ,value_for_I_CFGUID); String value_for_I_OBJTYPE = // do something to fill value syncOutboundContainer.addItem(“I_OBJTYPE”, 0 ,value_for_I_OBJTYPE); int NoOfLinesInTable_E_APPROVER; for (int line=0; line < NoOfLinesInTable_E_APPROVER ; line++) { String line_for_E_APPROVER = // do something to fill line syncOutboundContainer.addItem(“E_APPROVER”,line,line_for_E— APPROVER); } syncOutboundContainer.close( ); } catch (SyncException ex) { // will always happen if method “GETAPPROVERLIST ” is not registered } - FIG. 4 shows a computer system with synchronization capability and FIG. 5 shows a synchronization process according to an embodiment of the present invention. Preferably, the synchronization layer on the computer system has an inbound/outbound queue, module(s) for different types of synchronization, a dispatcher, a spooler, a file handler, an error handler, a mapping algorithm, a data transmission security module, a synchronization security module, and an authority checker. The details of the creation of such components would be apparent to one skilled in the art.
- The embodiment shown in FIG. 5 includes an optional data preservation scheme. In order to preserve the containers, a container is maintained on at least one location. The container on the mobile device will remain on the mobile device if a problem occurs such as the connection getting lost during synchronization. If that occurs, it will be sent automatically with the next synchronization. If there is no entry in the mapping table for the function module call, the container remains in the incoming table on the computer system and a program is used to generate an automatic mapping, as will be discussed later.
- If the called function module aborts and creates a dump, the container remains in the incoming table. If the called function module has the wrong interface implemented, it remains on the incoming table. If the data contained in the container is errored, the called function module returns an error message to the mobile device for processing by the offline application.
- Making reference now to FIGS. 4 and 5, in
step 230 of FIG. 5, the user ofmobile device 100 clicks the synch icon, button, hyperlink, or the like, on the home page to initiate the synchronization process. The synchronization class reads all data containers in the synchronization folder and compares the containers with a history table that records the container IDs for containers already sent by themobile device 100 and received bycomputer system 200 as shown instep 232. This is done so that duplicate containers, should they arise for some reason, such as a reboot of the mobile device, can be deleted from the mobile device without sending them. - In
step 234, the synchronization class sends the remaining containers over the synchronization transport layer to synchronizationRFC function module 210 in the computer system in step 252. Instep 236, the synchronizationRFC function module 210 writes the incoming containers intocontainer database 260. The incoming containers are stored indatabase 260 as a failsafe to ensure that the containers are available should a problem occur after they are passed on tomapping layer 265. Synchronization RFC function also reads out from theoutgoing container database 275 any data containers with the same class and user as those received and sends them tomobile device 100. Additionally, it sends an acknowledgement for the containers just received and stored inincoming container database 260. - In
step 238, themobile device 100 then writes the container ID referred to by the acknowledgment into a history table indicating that it was previously received by thecomputer system 200 and no longer needs to be maintained on themobile device 100. The container is then deleted off ofmobile device 100. - In
step 240, the incoming containers are read out ofinbound container database 260 by scheduledfunction module 265. Instep 242, scheduledfunction module 265 consults mapping table stored indatabase 270 to map the data within the container so that it may be processed accordingly. Scheduledfunction module 265 then calls theappropriate function module 220 to execute the function required instep 244. One such function module could be an EBP processing function, for example. - In
step 246,appropriate function module 220 sends back responsive data, such as status, to scheduledfunction module 265. Scheduledfunction module 265 then places the data in a container and writes it tooutgoing container database 275 instep 248. Depending on the type of incoming containers, the responsive outgoing containers may be sent immediately instep 249 or may be stored until the next time a synchronization process is initiated. - At least three separate types of synchronization would preferably be supported. The first type is publish synchronization. In publish synchronization, the type of container used can be called an outbound container. The outbound container is created in
mobile device 100 and, when a connection is present, is sent tocomputer system 200 for processing. Once it has been received bycomputer system 200, any return containers waiting to be sent to the same user and of the same method are sent back to the user. The connection is terminated however, prior to any outgoing containers responsive to the data just sent by the user being sent back to the mobile device. - The second type of synchronization is online processing. This type is similar to publish but includes return of responsive outgoing containers having processed data relating to the container that was just sent. With online processing synchronization, the owner sends a request-type container. First the connection is made. Then the request-type container is sent. The container is then received by the
computer system 200. Because it is a request type container, the computer system returns not only any containers waiting to be sent to the same owner of the same method, but also processes the incoming container and sends a response to that container prior to the connection being terminated. - The third type of synchronization is subscribe. Subscribe synchronization is used to check on the status of previously sent containers. For instance, it can be used to check on the status of an electronic order placed through a shopping cart. The owner sends a notify-type container to
computer system 200.Computer system 200 then returns containers of same method and user. Such containers need not include a body, as the status information is contained within the head of the containers. - Development tools can be utilized with the mobile engine according to an embodiment of the present invention. On the computer system, a generator tool can generate the wrapper function module that maps the generic structure of a container to the individual interface of a function module and generate the table entries for the mapping table. Preferably, the tool will utilize the programming language of the computer system. A tool can also be used as a Java class generator to handle flow logic to Java for modular offline
application building blocks 125 and/or 135. Preferably, the tool utilizes Java on the mobile device. These tools are essentially translators. Creation of such translators would be well within the abilities of one of ordinary skill in the art. A computer aided test tool can also be created and used for modularapplication building blocks 125 and/or 135. - Referring now to FIG. 6, to handle the management of the myriad of differently programmed mobile devices, a
deployment console 400 is resident on the computer system as one of theapplication function modules 220.Deployment console 400 is preferably programmed in a language supported bycomputer system 200. For example, if the computer system is a MySAP Workplace system by SAP, AG, then the deployment console could be programmed in ABAP. -
Deployment console 400 has an overview of all installed offline applications per user and device through aninstallation log 432 that records that an installation has occurred whenever an offline application, modular offline application building blocks or other software is deployed and installed on a device. - Some computer systems serving a plurality of users install applications according to user roles. For example, an employee may have a role of salesman, field engineer, secretary, or the like.
Role assignment module 410 permits an administrator to assign a user to a role and to assign what software should be installed for each role. A user may have one or more roles if desired. - Because, in some cases, deviation from a strict role-based regiment may be desired,
personal assignment module 412 can be provided.Personal assignment module 412 would permit an administration to assign an application that may be needed by an individual, but not by others within the same role. For example, a vice president of sales may be assigned a role of vice president, but may need some but not all applications of the salesman role.Personal assignment module 412 would permit such customization. - The
deployment console 400 can also manage versions of software for deployment by defining the current version of each offline application that should be installed.Version control module 416 provides an administrator with this functionality. - Storage media, such as
database 418, keeps track of what software should be installed on each device for each user. This data stored therein is based upon the parameters set byrole assignment module 410,personal assignment module 412 andversion control module 416. -
Storage media 436 is provided upon which software that may be downloaded to a device and installed thereupon is provided. Such software may include offline applications, modular offline application building blocks, patches, and other software. -
Installation protocol module 434 is provided. It permits an administrator to update or alter installation protocol. - Device type/
ID handler 440 is provided which determines how to handle different device types. -
Installer 430 is provided that retrieves software fromstorage media 436 for downloading and installation on a device. This is done based upon the comparison of information from a registry service on a device to information stored indatabase 418 relating to what is supposed to be resident on that particular device. Additionally,installer 430 is equipped to provide mobile device with a deinstall instruction should the information from the registry service indicate that software is installed on the device that should not be. - When
installer 430 retrieves software fromstorage media 436 and sends it off to a device and retrieves a notice from the device that the software was received, it stores the information relating to the download and install in installlog 432. Installlog 432,database 418, andstorage media 436 may be collocated or separate. Moreover, they may be a part ofdeployment console 400 as shown, or alternatively, any of them may be located externally. - A process for deploying and installing the framework according to an embodiment of the present invention is shown in FIG. 7.
- In order to install the mobile engine framework, a user opens
browser 105 onmobile device 100 and connects tocomputer system 200 online as shown instep 300. Once online, an install mobile engine icon, hyperlink or the like is displayed. Instep 305, the user selects to installmobile engine 110 by clicking on the icon, hyperlink or the like. - In
step 310, the mobile engine framework is downloaded tomobile device 100 and, preferably, is automatically installed byinstallation service 165. Once installation is complete, the user connects into the deployment console system instep 315. - Upon this connection, a data container containing information from
registry service 175 is sent to a deployment console oncomputer system 200. As shown instep 325, the console reads the registry and determines that no offline applications are currently installed onmobile device 100 and then downloads the appropriate applications that are supposed to reside onmobile device 100. These offline applications are installed automatically byinstallation service 165.Installation service 165 also automatically updatesregistry service 175 to reflect the installation of the new offline applications. - When a deployment console receives information from a registry service that indicates an outdated version of a program or a version requiring a patch is resident on a mobile device, the current version and/or patch can be sent to the device and installed and the old version deinstalled, as needed, just as any other program, as will be described with respect to FIG. 8. It should also maintain error logs sent by the mobile devices.
- In FIG. 8, a process using the registry in association with the deployment console is depicted. In
step 350, the user opensbrowser 105 and connects tocomputer system 200 through the Internet, or the like, using the synchronization function. As part of the synchronization process,mobile device 100 then sends a data container containing the data within theregistry service 175 that is eventually retrieved by the deployment console as shown instep 355. This retrieval may be in the manner discussed above relating to the retrieval of data from data containers during the synchronization process. - The console then compares the data from
registry service 175 to stored information that reflects what offline applications (or alternatively what software that is subject to deployment through deployment console) are supposed to be resident onmobile device 100 instep 360. Instep 365, it is determined if changes need to be made to the mobile device. A few examples of changes that may need to be made include: 1) an offline application may no longer be authorized and may need to be deleted from the mobile device; 2) a new application may need to be added; 3) a new version of an existing application may need to be placed on the mobile device; 4) a patch for an existing application may need to be installed on the mobile device; 5) modular application building blocks may need to be deleted and/or installed; and 6) other software such as special extra HTML pages and/or graphics, for example, may need to be added or deleted, such as for a “Christmas” special. - If no changes need to be made, then the routine ends. If changes do need to be made, it is determined if a deinstall or an install needs to be performed. In
step 370, it is determined if a deinstall is needed. If one is, then a data container is sent tomobile device 100 directinginstallation function 165 to deinstall the appropriate offline application or other software. It is then determined if an install is necessary instep 385. If no install is needed, then the routine ends. If an install is needed, instep 390, the offline application or other software to be installed is downloaded to mobile device and installed automatically through theinstallation function 165. - This sending of the registry occurs each time there is a synchronization process. This way the deployment console keeps the mobile devices outfitted as they should be.
- Although the preferred embodiments of the present invention have been described and illustrated in detail, it will be evident to those skilled in the art that various modifications and changes may be made thereto without departing from the spirit and scope of the invention as set forth in the appended claims and equivalents thereof.
Claims (7)
1. A deployment console for a computer system for use in managing deployment of software to a device over a connection comprising:
assignment software, said assignment software facilitating assignment of software intended to be installed on said device;
comparison software, said comparison software facilitating a comparison of software already installed on said device with said software intended to be installed on said device; and
installation software, said installation software facilitating downloading of said software intended to be installed on said device that is not already installed on said device based upon said comparison.
2. A deployment console as in claim 1 , further comprising version control software, said version control software facilitating updating what versions of software are intended to be installed on said device.
3. A deployment console as in claim 1 , wherein said assignment software comprises role assignment software, said role assignment software facilitating assignment of roles to users and of software intended to be installed on said device based upon roles of a user of said device.
4. A deployment console as in claim 3 , wherein said assignment software further comprises personal assignment software, said personal assignment software facilitating assignment of software not intended to be installed on said device based upon said roles of said user to be installed on said device based upon a personal assignment.
5. A deployment console as in claim 1 , further comprising installation protocol software, said installation protocol software facilitating setting of protocols for installation of said software intended to be installed on said device.
6. A deployment console as in claim 1 , wherein said installation software facilitates deinstallation of software installed on said device that is not intended to be installed on said device if said comparison software indicates that software is installed on said device that is not intended to be installed on said device.
7. A deployment console as in claim 1 , wherein said computer system comprises an application server.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/164,188 US20030046017A1 (en) | 2001-06-06 | 2002-06-05 | Deployment console for use with a computer system deploying software to remotely located devices |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US29623401P | 2001-06-06 | 2001-06-06 | |
US29699301P | 2001-06-08 | 2001-06-08 | |
US10/164,188 US20030046017A1 (en) | 2001-06-06 | 2002-06-05 | Deployment console for use with a computer system deploying software to remotely located devices |
Publications (1)
Publication Number | Publication Date |
---|---|
US20030046017A1 true US20030046017A1 (en) | 2003-03-06 |
Family
ID=26969557
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/164,248 Abandoned US20030056207A1 (en) | 2001-06-06 | 2002-06-05 | Process for deploying software from a central computer system to remotely located devices |
US10/164,187 Abandoned US20030046448A1 (en) | 2001-06-06 | 2002-06-05 | Application programming interface layer for a device |
US10/164,145 Expired - Lifetime US7143419B2 (en) | 2001-06-06 | 2002-06-05 | Device for running offline applications and synchronizing with a central computer system |
US10/164,188 Abandoned US20030046017A1 (en) | 2001-06-06 | 2002-06-05 | Deployment console for use with a computer system deploying software to remotely located devices |
US10/164,224 Abandoned US20030055927A1 (en) | 2001-06-06 | 2002-06-05 | Framework for a device and a computer system needing synchronization |
US10/164,225 Expired - Lifetime US7162543B2 (en) | 2001-06-06 | 2002-06-05 | Process for synchronizing data between remotely located devices and a central computer system |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/164,248 Abandoned US20030056207A1 (en) | 2001-06-06 | 2002-06-05 | Process for deploying software from a central computer system to remotely located devices |
US10/164,187 Abandoned US20030046448A1 (en) | 2001-06-06 | 2002-06-05 | Application programming interface layer for a device |
US10/164,145 Expired - Lifetime US7143419B2 (en) | 2001-06-06 | 2002-06-05 | Device for running offline applications and synchronizing with a central computer system |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/164,224 Abandoned US20030055927A1 (en) | 2001-06-06 | 2002-06-05 | Framework for a device and a computer system needing synchronization |
US10/164,225 Expired - Lifetime US7162543B2 (en) | 2001-06-06 | 2002-06-05 | Process for synchronizing data between remotely located devices and a central computer system |
Country Status (4)
Country | Link |
---|---|
US (6) | US20030056207A1 (en) |
EP (6) | EP1407375A4 (en) |
AU (4) | AU2002318177A1 (en) |
WO (6) | WO2002099592A2 (en) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030023657A1 (en) * | 2001-06-06 | 2003-01-30 | Claudius Fischer | Device for running offline applications and synchronizing with a central computer system |
CN1307544C (en) * | 2003-10-23 | 2007-03-28 | 国际商业机器公司 | Method and apparatus for deploying software via post-load images |
US20090024645A1 (en) * | 2007-07-16 | 2009-01-22 | Sudhir Krishna S | Method and system for generating offline applications |
EP2128760A1 (en) * | 2008-05-29 | 2009-12-02 | Research in Motion Limited | A method and system for performing a software upgrade on an electronic device connected to a computer |
US20090298478A1 (en) * | 2008-05-29 | 2009-12-03 | Research In Motion Limited | Method and system for establishing a service relationship between a mobile communication device and a mobile data server for connecting to a wireless network |
US20090300596A1 (en) * | 2008-05-29 | 2009-12-03 | Research In Motion Limited | Method and system for performing a software upgrade on an electronic device connected to a computer |
US20090300137A1 (en) * | 2008-05-29 | 2009-12-03 | Research In Motion Limited | Method, system and devices for communicating between an internet browser and an electronic device |
CN109491673A (en) * | 2018-11-01 | 2019-03-19 | 郑州云海信息技术有限公司 | A kind of method and system of automatic verifying software deployment integrality |
US10839329B2 (en) | 2016-10-25 | 2020-11-17 | Sap Se | Process execution using rules framework flexibly incorporating predictive modeling |
US11063744B2 (en) | 2017-10-20 | 2021-07-13 | Sap Se | Document flow tracking using blockchain |
US11580440B2 (en) | 2016-12-02 | 2023-02-14 | Sap Se | Dynamic form with machine learning |
Families Citing this family (374)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7689721B2 (en) * | 1998-05-29 | 2010-03-30 | Research In Motion Limited | System and method for pushing information from a host system to a mobile data communication device |
JP2001093226A (en) | 1999-09-21 | 2001-04-06 | Sony Corp | Information communication system and method, and information communication device and method |
JP4507319B2 (en) * | 1999-12-17 | 2010-07-21 | ソニー株式会社 | Information processing device, information processing method, program, recording medium, terminal device, system, and system method |
US8645137B2 (en) | 2000-03-16 | 2014-02-04 | Apple Inc. | Fast, language-independent method for user authentication by voice |
US7788602B2 (en) * | 2000-06-06 | 2010-08-31 | Microsoft Corporation | Method and system for providing restricted actions for recognized semantic categories |
US7716163B2 (en) | 2000-06-06 | 2010-05-11 | Microsoft Corporation | Method and system for defining semantic categories and actions |
US7770102B1 (en) | 2000-06-06 | 2010-08-03 | Microsoft Corporation | Method and system for semantically labeling strings and providing actions based on semantically labeled strings |
US7712024B2 (en) | 2000-06-06 | 2010-05-04 | Microsoft Corporation | Application program interfaces for semantically labeling strings and providing actions based on semantically labeled strings |
US7219304B1 (en) * | 2000-06-19 | 2007-05-15 | International Business Machines Corporation | System and method for developing and administering web applications and services from a workflow, enterprise, and mail-enabled web application server and platform |
US7233998B2 (en) * | 2001-03-22 | 2007-06-19 | Sony Computer Entertainment Inc. | Computer architecture and software cells for broadband networks |
US7778816B2 (en) * | 2001-04-24 | 2010-08-17 | Microsoft Corporation | Method and system for applying input mode bias |
JP4936037B2 (en) * | 2001-08-31 | 2012-05-23 | ソニー株式会社 | Information processing apparatus and method, and program |
US7559059B2 (en) * | 2001-09-21 | 2009-07-07 | Bea Systems, Inc. | Method and apparatus for smart directories for application deployment |
KR100718613B1 (en) * | 2001-10-22 | 2007-05-16 | 애플 인크. | Intelligent synchronization for a media player |
US20030167318A1 (en) * | 2001-10-22 | 2003-09-04 | Apple Computer, Inc. | Intelligent synchronization of media player with host computer |
US6934812B1 (en) * | 2001-10-22 | 2005-08-23 | Apple Computer, Inc. | Media player with instant play capability |
EP1456778A4 (en) * | 2001-10-26 | 2006-05-24 | Zeosoft Technology Group Inc | System for development, management and operation of distributed clients and servers |
WO2003058372A2 (en) * | 2002-01-07 | 2003-07-17 | Flash Networks Ltd. | A system and a method for accelerating communication between client and an email server |
US8204930B1 (en) * | 2002-02-15 | 2012-06-19 | F5 Networks, Inc. | Method and system for controlling and accessing content servers |
US7571221B2 (en) * | 2002-04-03 | 2009-08-04 | Hewlett-Packard Development Company, L.P. | Installation of network services in an embedded network server |
US7797446B2 (en) * | 2002-07-16 | 2010-09-14 | Apple Inc. | Method and system for updating playlists |
US7827259B2 (en) * | 2004-04-27 | 2010-11-02 | Apple Inc. | Method and system for configurable automatic media selection |
US9715500B2 (en) * | 2004-04-27 | 2017-07-25 | Apple Inc. | Method and system for sharing playlists |
US9412417B2 (en) * | 2002-04-05 | 2016-08-09 | Apple Inc. | Persistent group of media items for a media device |
US8150937B2 (en) * | 2004-10-25 | 2012-04-03 | Apple Inc. | Wireless synchronization between media player and host device |
US8151259B2 (en) | 2006-01-03 | 2012-04-03 | Apple Inc. | Remote content updates for portable media devices |
US7433546B2 (en) * | 2004-10-25 | 2008-10-07 | Apple Inc. | Image scaling arrangement |
US7680849B2 (en) | 2004-10-25 | 2010-03-16 | Apple Inc. | Multiple media type synchronization between host computer and media device |
US7818365B2 (en) * | 2002-05-01 | 2010-10-19 | Sybase, Inc. | System, method, and computer program product for online and offline interactive applications on mobile devices |
US7707496B1 (en) | 2002-05-09 | 2010-04-27 | Microsoft Corporation | Method, system, and apparatus for converting dates between calendars and languages based upon semantically labeled strings |
US7742048B1 (en) | 2002-05-23 | 2010-06-22 | Microsoft Corporation | Method, system, and apparatus for converting numbers based upon semantically labeled strings |
US7707024B2 (en) * | 2002-05-23 | 2010-04-27 | Microsoft Corporation | Method, system, and apparatus for converting currency values based upon semantically labeled strings |
US7281245B2 (en) * | 2002-06-05 | 2007-10-09 | Microsoft Corporation | Mechanism for downloading software components from a remote source for use by a local software application |
US7827546B1 (en) | 2002-06-05 | 2010-11-02 | Microsoft Corporation | Mechanism for downloading software components from a remote source for use by a local software application |
US7356537B2 (en) * | 2002-06-06 | 2008-04-08 | Microsoft Corporation | Providing contextually sensitive tools and help content in computer-generated documents |
US9171049B2 (en) * | 2002-06-13 | 2015-10-27 | Salesforce.Com, Inc. | Offline simulation of online session between client and server |
US7716676B2 (en) | 2002-06-25 | 2010-05-11 | Microsoft Corporation | System and method for issuing a message to a program |
US7209915B1 (en) | 2002-06-28 | 2007-04-24 | Microsoft Corporation | Method, system and apparatus for routing a query to one or more providers |
US7956272B2 (en) | 2002-07-30 | 2011-06-07 | Apple Inc. | Management of files in a personal communication device |
US7166791B2 (en) * | 2002-07-30 | 2007-01-23 | Apple Computer, Inc. | Graphical user interface and methods of use thereof in a multimedia player |
US20040216139A1 (en) * | 2002-08-21 | 2004-10-28 | Rhoda Merlin A. | System controlling test/measurement devices on a network using markup language documents and methods thereof |
US20040040023A1 (en) * | 2002-08-22 | 2004-02-26 | Ellis David G. | Remote identification loader |
US7373414B2 (en) | 2002-08-29 | 2008-05-13 | Amx Llc | Multi-media system and method for simultaneously delivering multi-media data to multiple destinations |
US20040054757A1 (en) * | 2002-09-14 | 2004-03-18 | Akinobu Ueda | System for remote control of computer resources from embedded handheld devices |
TWI231669B (en) * | 2002-11-02 | 2005-04-21 | Ibm | System and method for using portals by mobile devices in a disconnected mode |
US7359991B2 (en) * | 2002-11-05 | 2008-04-15 | Microsoft Corporation | Folder synchronization |
US20040142683A1 (en) * | 2002-11-08 | 2004-07-22 | Matt Clark | Programming interface layer of a service provider for data service delivery |
WO2004066236A1 (en) * | 2003-01-14 | 2004-08-05 | United Technologies Corporation | Shipping container and method of using same |
US7366460B2 (en) | 2003-01-23 | 2008-04-29 | Dexterra, Inc. | System and method for mobile data update |
US7783614B2 (en) * | 2003-02-13 | 2010-08-24 | Microsoft Corporation | Linking elements of a document to corresponding fields, queries and/or procedures in a database |
US7533379B2 (en) * | 2003-02-25 | 2009-05-12 | Bea Systems, Inc. | Methods for incremental application deployment |
US20040172584A1 (en) * | 2003-02-28 | 2004-09-02 | Microsoft Corporation | Method and system for enhancing paste functionality of a computer software application |
US7809679B2 (en) * | 2003-03-03 | 2010-10-05 | Fisher-Rosemount Systems, Inc. | Distributed data access methods and apparatus for process control systems |
US7305681B2 (en) * | 2003-03-20 | 2007-12-04 | Nokia Corporation | Method and apparatus for providing multi-client support in a sip-enabled terminal |
US20040205749A1 (en) * | 2003-03-26 | 2004-10-14 | Lockheed Martin Corporation | System for enabling application software of data acquisition devices |
WO2004092982A2 (en) * | 2003-04-07 | 2004-10-28 | Dexterra, Inc. | System and method for context sensitive mobile data and software update |
US7724716B2 (en) | 2006-06-20 | 2010-05-25 | Apple Inc. | Wireless communication system |
US7831199B2 (en) | 2006-01-03 | 2010-11-09 | Apple Inc. | Media data exchange, transfer or delivery for portable electronic devices |
US7711550B1 (en) | 2003-04-29 | 2010-05-04 | Microsoft Corporation | Methods and system for recognizing names in a computer-generated document and for providing helpful actions associated with recognized names |
US7827232B2 (en) | 2003-05-05 | 2010-11-02 | Microsoft Corporation | Record button on a computer system |
US7551199B2 (en) * | 2003-05-05 | 2009-06-23 | Microsoft Corporation | Computer camera system and method for reducing parallax |
US7221331B2 (en) * | 2003-05-05 | 2007-05-22 | Microsoft Corporation | Method and system for auxiliary display of information for a computing device |
US20040235520A1 (en) | 2003-05-20 | 2004-11-25 | Cadiz Jonathan Jay | Enhanced telephony computer user interface allowing user interaction and control of a telephone using a personal computer |
US20040267812A1 (en) * | 2003-06-26 | 2004-12-30 | Microsoft Corporation | Media platform |
US7739588B2 (en) | 2003-06-27 | 2010-06-15 | Microsoft Corporation | Leveraging markup language data for semantically labeling text strings and data and for providing actions based on semantically labeled text strings and data |
US7860727B2 (en) * | 2003-07-17 | 2010-12-28 | Ventana Medical Systems, Inc. | Laboratory instrumentation information management and control network |
US7822831B2 (en) * | 2003-07-31 | 2010-10-26 | International Business Machines Corporation | Method, system and program product for preserving and restoring mobile device user settings |
US20050050142A1 (en) * | 2003-08-28 | 2005-03-03 | Aligo Inc. | Method and framework for transaction synchronization |
US7496917B2 (en) | 2003-09-25 | 2009-02-24 | International Business Machines Corporation | Virtual devices using a pluarlity of processors |
US7516456B2 (en) | 2003-09-25 | 2009-04-07 | International Business Machines Corporation | Asymmetric heterogeneous multi-threaded operating system |
US7415703B2 (en) * | 2003-09-25 | 2008-08-19 | International Business Machines Corporation | Loading software on a plurality of processors |
US7549145B2 (en) | 2003-09-25 | 2009-06-16 | International Business Machines Corporation | Processor dedicated code handling in a multi-processor environment |
US7478390B2 (en) * | 2003-09-25 | 2009-01-13 | International Business Machines Corporation | Task queue management of virtual devices using a plurality of processors |
US7523157B2 (en) * | 2003-09-25 | 2009-04-21 | International Business Machines Corporation | Managing a plurality of processors as devices |
US7444632B2 (en) | 2003-09-25 | 2008-10-28 | International Business Machines Corporation | Balancing computational load across a plurality of processors |
US20050071828A1 (en) * | 2003-09-25 | 2005-03-31 | International Business Machines Corporation | System and method for compiling source code for multi-processor environments |
US7389508B2 (en) * | 2003-09-25 | 2008-06-17 | International Business Machines Corporation | System and method for grouping processors and assigning shared memory space to a group in heterogeneous computer environment |
US7475257B2 (en) * | 2003-09-25 | 2009-01-06 | International Business Machines Corporation | System and method for selecting and using a signal processor in a multiprocessor system to operate as a security for encryption/decryption of data |
US7548255B2 (en) * | 2003-09-30 | 2009-06-16 | Microsoft Corporation | Method and system for capturing video on a personal computer |
US7216221B2 (en) * | 2003-09-30 | 2007-05-08 | Microsoft Corporation | Method and system for unified audio control on a personal computer |
US8627489B2 (en) * | 2003-10-31 | 2014-01-07 | Adobe Systems Incorporated | Distributed document version control |
US8108672B1 (en) | 2003-10-31 | 2012-01-31 | Adobe Systems Incorporated | Transparent authentication process integration |
US7930757B2 (en) * | 2003-10-31 | 2011-04-19 | Adobe Systems Incorporated | Offline access in a document control system |
US20050102429A1 (en) * | 2003-11-06 | 2005-05-12 | Sap Ag | Portal cluster manager |
US8055996B2 (en) * | 2003-11-13 | 2011-11-08 | International Business Machines Corporation | Lightweight form pattern validation |
US20050108690A1 (en) * | 2003-11-17 | 2005-05-19 | Tira Wireless Inc. | System and method of generating applications for mobile devices |
JP4666906B2 (en) * | 2003-12-04 | 2011-04-06 | 株式会社ブロードリーフ | Method for detecting violation of system environment rules of client device |
US7487513B1 (en) | 2003-12-30 | 2009-02-03 | Sap Ag | Web service archive |
US20050182617A1 (en) * | 2004-02-17 | 2005-08-18 | Microsoft Corporation | Methods and systems for providing automated actions on recognized text strings in a computer-generated document |
US7315791B2 (en) * | 2004-02-18 | 2008-01-01 | National Instruments Corporation | Application programming interface for synchronizing multiple instrumentation devices |
US8239858B2 (en) * | 2004-02-25 | 2012-08-07 | Research In Motion Limited | Method and system for selecting a program for download |
FI118312B (en) * | 2004-04-13 | 2007-09-28 | Nokia Corp | Sharing information between devices |
CN100485674C (en) | 2004-05-18 | 2009-05-06 | 皇家飞利浦电子股份有限公司 | Method of data synchronization |
WO2005116888A2 (en) * | 2004-05-26 | 2005-12-08 | Man Bytes Dog Limited | Method of providing computing resources to computers operated by different companies |
US10972536B2 (en) | 2004-06-04 | 2021-04-06 | Apple Inc. | System and method for synchronizing media presentation at multiple recipients |
US20070110074A1 (en) | 2004-06-04 | 2007-05-17 | Bob Bradley | System and Method for Synchronizing Media Presentation at Multiple Recipients |
US8797926B2 (en) | 2004-06-04 | 2014-08-05 | Apple Inc. | Networked media station |
US8443038B2 (en) | 2004-06-04 | 2013-05-14 | Apple Inc. | Network media device |
US7444342B1 (en) * | 2004-08-06 | 2008-10-28 | Unisys Corporation | System for accessing and transforming data, information and data relational rules in a multi-dimensional database |
US8261246B1 (en) | 2004-09-07 | 2012-09-04 | Apple Inc. | Method and system for dynamically populating groups in a developer environment |
US20060101374A1 (en) * | 2004-10-14 | 2006-05-11 | Beng Giap Lim | Enterprise management system installer |
US7706637B2 (en) * | 2004-10-25 | 2010-04-27 | Apple Inc. | Host configured for interoperation with coupled portable media player device |
US20060095898A1 (en) * | 2004-10-28 | 2006-05-04 | International Business Machines Corporation | Method for integrating multiple object files from heterogeneous architectures into a set of files |
JP4549809B2 (en) * | 2004-10-29 | 2010-09-22 | 京セラ株式会社 | Mobile phone terminal, program management method and computer program |
US20060130054A1 (en) * | 2004-11-12 | 2006-06-15 | Research In Motion Limited | System and method for downloading or enabling download of a program from a program store location |
US7342584B2 (en) * | 2004-11-18 | 2008-03-11 | Amx, Llc | Method and computer program for implementing interactive bargraphs of any shape or design on a graphical user interface |
US7634780B2 (en) * | 2004-11-23 | 2009-12-15 | Microsoft Corporation | Method and system for exchanging data between computer systems and auxiliary displays |
US7581034B2 (en) * | 2004-11-23 | 2009-08-25 | Microsoft Corporation | Sending notifications to auxiliary displays |
US7711868B2 (en) | 2004-11-23 | 2010-05-04 | Microsoft Corporation | Waking a main computer system to pre-fetch data for an auxiliary computing device |
US7995758B1 (en) | 2004-11-30 | 2011-08-09 | Adobe Systems Incorporated | Family of encryption keys |
US20060136901A1 (en) * | 2004-12-22 | 2006-06-22 | Sony Ericsson Mobile Communications Ab | Mobile financial transaction management system and method |
US11314378B2 (en) | 2005-01-07 | 2022-04-26 | Apple Inc. | Persistent group of media items for a media device |
US7593782B2 (en) * | 2005-01-07 | 2009-09-22 | Apple Inc. | Highly portable media device |
US7958441B2 (en) * | 2005-01-07 | 2011-06-07 | Apple Inc. | Media management for groups of media items |
US20060161471A1 (en) * | 2005-01-19 | 2006-07-20 | Microsoft Corporation | System and method for multi-dimensional average-weighted banding status and scoring |
US7784065B2 (en) * | 2005-02-07 | 2010-08-24 | Microsoft Corporation | Interface for consistent program interaction with auxiliary computing devices |
US7546586B2 (en) * | 2005-02-15 | 2009-06-09 | Microsoft Corporation | Multi-Interface aware scenario execution environment |
DE102005009558A1 (en) * | 2005-03-02 | 2006-06-08 | Siemens Ag | Process and installion to create a client-specific financial offer to lease medical applicances whereby centrally held base data are copied to a localized calculating unit which generates offer using program |
US7797399B1 (en) * | 2005-03-14 | 2010-09-14 | Qurio Holdings, Inc. | Method and system for allowing distributed importing of guest images in a peer-based photosharing network |
US7739682B1 (en) | 2005-03-24 | 2010-06-15 | The Weather Channel, Inc. | Systems and methods for selectively blocking application installation |
US20060242590A1 (en) * | 2005-04-21 | 2006-10-26 | Microsoft Corporation | Simple content format for auxiliary display devices |
US8300841B2 (en) | 2005-06-03 | 2012-10-30 | Apple Inc. | Techniques for presenting sound effects on a portable media player |
US7698712B2 (en) * | 2005-07-21 | 2010-04-13 | Sap Ag | Selectively transmitting transaction data |
US8832047B2 (en) | 2005-07-27 | 2014-09-09 | Adobe Systems Incorporated | Distributed document version control |
US7532906B2 (en) * | 2005-07-29 | 2009-05-12 | Sap Ag | Mobile electronic device and methods for providing information to a mobile electronic device using a web service |
US7590772B2 (en) | 2005-08-22 | 2009-09-15 | Apple Inc. | Audio status information for a portable electronic device |
US20070050237A1 (en) * | 2005-08-30 | 2007-03-01 | Microsoft Corporation | Visual designer for multi-dimensional business logic |
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
WO2007032766A1 (en) * | 2005-09-13 | 2007-03-22 | Quark, Inc. | Systems and methods for call center processing |
US7788590B2 (en) * | 2005-09-26 | 2010-08-31 | Microsoft Corporation | Lightweight reference user interface |
US7992085B2 (en) | 2005-09-26 | 2011-08-02 | Microsoft Corporation | Lightweight reference user interface |
US7930369B2 (en) | 2005-10-19 | 2011-04-19 | Apple Inc. | Remotely configured media device |
US20070112607A1 (en) * | 2005-11-16 | 2007-05-17 | Microsoft Corporation | Score-based alerting in business logic |
US9497292B2 (en) * | 2005-11-18 | 2016-11-15 | Adobe Systems Incorporated | Facilitating the operation of a client/server application while a client is offline or online |
US8654993B2 (en) | 2005-12-07 | 2014-02-18 | Apple Inc. | Portable audio device providing automated control of audio volume parameters for hearing protection |
CN100407656C (en) * | 2005-12-09 | 2008-07-30 | 华为技术有限公司 | Method and system for managing terminal equipment |
US20070143174A1 (en) * | 2005-12-21 | 2007-06-21 | Microsoft Corporation | Repeated inheritance of heterogeneous business metrics |
US20070156680A1 (en) * | 2005-12-21 | 2007-07-05 | Microsoft Corporation | Disconnected authoring of business definitions |
US20070143161A1 (en) * | 2005-12-21 | 2007-06-21 | Microsoft Corporation | Application independent rendering of scorecard metrics |
US20070143175A1 (en) * | 2005-12-21 | 2007-06-21 | Microsoft Corporation | Centralized model for coordinating update of multiple reports |
WO2007072310A1 (en) | 2005-12-22 | 2007-06-28 | Shapiro Alan J | System and method for software delivery |
US20070150887A1 (en) * | 2005-12-22 | 2007-06-28 | Shapiro Alan J | Apparatus and method for selectively dispensing soft assets |
US8255640B2 (en) * | 2006-01-03 | 2012-08-28 | Apple Inc. | Media device with intelligent cache utilization |
US7673238B2 (en) * | 2006-01-05 | 2010-03-02 | Apple Inc. | Portable media device with video acceleration capabilities |
WO2007084784A2 (en) * | 2006-01-19 | 2007-07-26 | Safelite Group, Inc. | Method and device for providing location based content delivery |
US7848527B2 (en) | 2006-02-27 | 2010-12-07 | Apple Inc. | Dynamic power management in a portable media delivery system |
US8261181B2 (en) * | 2006-03-30 | 2012-09-04 | Microsoft Corporation | Multidimensional metrics-based annotation |
KR100782858B1 (en) * | 2006-04-11 | 2007-12-06 | 삼성전자주식회사 | Method and apparatus for synchronizing contents of home network devices |
US8190992B2 (en) | 2006-04-21 | 2012-05-29 | Microsoft Corporation | Grouping and display of logically defined reports |
US8126750B2 (en) * | 2006-04-27 | 2012-02-28 | Microsoft Corporation | Consolidating data source queries for multidimensional scorecards |
US20070255681A1 (en) * | 2006-04-27 | 2007-11-01 | Microsoft Corporation | Automated determination of relevant slice in multidimensional data sources |
US7831786B2 (en) * | 2006-05-08 | 2010-11-09 | Research In Motion Limited | Sharing memory resources of wireless portable electronic devices |
US20070271116A1 (en) * | 2006-05-22 | 2007-11-22 | Apple Computer, Inc. | Integrated media jukebox and physiologic data handling application |
US9137309B2 (en) | 2006-05-22 | 2015-09-15 | Apple Inc. | Calibration techniques for activity sensing devices |
US8073984B2 (en) * | 2006-05-22 | 2011-12-06 | Apple Inc. | Communication protocol for use with portable electronic devices |
US7643895B2 (en) | 2006-05-22 | 2010-01-05 | Apple Inc. | Portable media device with workout support |
US20070270663A1 (en) * | 2006-05-22 | 2007-11-22 | Apple Computer, Inc. | System including portable media player and physiologic data gathering device |
US8358273B2 (en) * | 2006-05-23 | 2013-01-22 | Apple Inc. | Portable media device with power-managed display |
US7738920B1 (en) * | 2006-07-12 | 2010-06-15 | Sprint Communications Company L.P. | Operating a computing device with an operating system and a wireless data access on a mobile device |
US8353048B1 (en) * | 2006-07-31 | 2013-01-08 | Sprint Communications Company L.P. | Application digital rights management (DRM) and portability using a mobile device for authentication |
US7813715B2 (en) * | 2006-08-30 | 2010-10-12 | Apple Inc. | Automated pairing of wireless accessories with host devices |
US7913297B2 (en) * | 2006-08-30 | 2011-03-22 | Apple Inc. | Pairing of wireless devices using a wired medium |
US20080061150A1 (en) * | 2006-09-08 | 2008-03-13 | Simon Phillips | Identification token and method of making identification token |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US7997498B2 (en) * | 2006-09-08 | 2011-08-16 | Mastercard International, Inc. | Identification of installable card |
US8341524B2 (en) * | 2006-09-11 | 2012-12-25 | Apple Inc. | Portable electronic device with local search capabilities |
US7729791B2 (en) * | 2006-09-11 | 2010-06-01 | Apple Inc. | Portable media playback device including user interface event passthrough to non-media-playback processing |
US8090130B2 (en) * | 2006-09-11 | 2012-01-03 | Apple Inc. | Highly portable media devices |
US7743328B2 (en) * | 2006-10-12 | 2010-06-22 | Microsoft Corporation | Preserving a process instance for use by different user interfaces |
US7814234B2 (en) * | 2006-10-30 | 2010-10-12 | Microsoft Corporation | Offline execution of web based applications |
US7861931B2 (en) * | 2006-11-06 | 2011-01-04 | Mastercard International, Inc. | Method, apparatus, assembly and kit for identification token |
WO2008084274A2 (en) * | 2006-12-29 | 2008-07-17 | Sap Ag | Management of data for installation on a remote device |
US8730012B2 (en) * | 2007-01-05 | 2014-05-20 | Mastercard International Incorporated | Enabling identification token for a timed period |
US10083184B2 (en) * | 2007-01-07 | 2018-09-25 | Apple Inc. | Widget synchronization in accordance with synchronization preferences |
US20080168185A1 (en) * | 2007-01-07 | 2008-07-10 | Robbin Jeffrey L | Data Synchronization with Host Device in Accordance with Synchronization Preferences |
US8631088B2 (en) | 2007-01-07 | 2014-01-14 | Apple Inc. | Prioritized data synchronization with host device |
US8850140B2 (en) | 2007-01-07 | 2014-09-30 | Apple Inc. | Data backup for mobile device |
US20080172348A1 (en) * | 2007-01-17 | 2008-07-17 | Microsoft Corporation | Statistical Determination of Multi-Dimensional Targets |
US20080172629A1 (en) * | 2007-01-17 | 2008-07-17 | Microsoft Corporation | Geometric Performance Metric Data Rendering |
US20080172414A1 (en) * | 2007-01-17 | 2008-07-17 | Microsoft Corporation | Business Objects as a Service |
US20080172287A1 (en) * | 2007-01-17 | 2008-07-17 | Ian Tien | Automated Domain Determination in Business Logic Applications |
US9058307B2 (en) * | 2007-01-26 | 2015-06-16 | Microsoft Technology Licensing, Llc | Presentation generation using scorecard elements |
US20080183564A1 (en) * | 2007-01-30 | 2008-07-31 | Microsoft Corporation | Untethered Interaction With Aggregated Metrics |
US8321805B2 (en) * | 2007-01-30 | 2012-11-27 | Microsoft Corporation | Service architecture based metric views |
US20080189632A1 (en) * | 2007-02-02 | 2008-08-07 | Microsoft Corporation | Severity Assessment For Performance Metrics Using Quantitative Model |
US8495663B2 (en) | 2007-02-02 | 2013-07-23 | Microsoft Corporation | Real time collaboration using embedded data visualizations |
US7589629B2 (en) * | 2007-02-28 | 2009-09-15 | Apple Inc. | Event recorder for portable media device |
US20080215664A1 (en) * | 2007-03-01 | 2008-09-04 | Microsoft Corporation | Occasionally connected edge application architecture |
US7698101B2 (en) * | 2007-03-07 | 2010-04-13 | Apple Inc. | Smart garment |
US20100005102A1 (en) * | 2007-03-22 | 2010-01-07 | Arinc Incorporated | Method and apparatus for managing document/message content for distribution to subscribers |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US8626771B2 (en) * | 2007-06-29 | 2014-01-07 | Microsoft Corporation | Container reputation |
EP2053504A1 (en) * | 2007-08-09 | 2009-04-29 | France Telecom | System and method for managing processing resources |
US8046369B2 (en) | 2007-09-04 | 2011-10-25 | Apple Inc. | Media asset rating system |
US7837123B2 (en) * | 2007-09-10 | 2010-11-23 | Mastercard International, Inc. | Identification token and method of making identification token |
US7992779B2 (en) * | 2007-09-10 | 2011-08-09 | Mastercard International, Inc. | Method for use in association with identification token and apparatus including identification token |
US9401957B2 (en) * | 2007-09-14 | 2016-07-26 | International Business Machines Corporation | System and method for synchronization between servers |
US10783514B2 (en) * | 2007-10-10 | 2020-09-22 | Mastercard International Incorporated | Method and apparatus for use in personalizing identification token |
US8226013B2 (en) * | 2007-10-26 | 2012-07-24 | Mastercard International, Inc. | Method and apparatus for use in providing an identification token |
US9201921B2 (en) * | 2007-11-02 | 2015-12-01 | Adobe Systems Incorporated | Methods and systems for offline execution of rich internet applications |
US20090138673A1 (en) * | 2007-11-28 | 2009-05-28 | Apple Inc. | Internal memory mapped external memory interface |
US8037110B2 (en) * | 2007-12-27 | 2011-10-11 | Microsoft Corporation | Business data access client for online/offline client use |
US20090166428A1 (en) * | 2007-12-28 | 2009-07-02 | Simon Phillips | Methods and apparatus for use in association with media |
US8286862B2 (en) * | 2007-12-28 | 2012-10-16 | Mastercard International, Inc. | Methods and apparatus for use in association with security parameter |
US8991695B2 (en) * | 2007-12-28 | 2015-03-31 | Mastercard International Incorporated | Methods and apparatus for use in docking |
US8794532B2 (en) * | 2008-12-29 | 2014-08-05 | Mastercard International Incorporated | Methods and apparatus for use in association with identification token |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US9135321B2 (en) * | 2008-02-06 | 2015-09-15 | Microsoft Technology Licensing, Llc | Synchronization infrastructure for networked devices, applications and services in a loosely coupled multi-master synchronization environment |
US20090228545A1 (en) * | 2008-03-07 | 2009-09-10 | Mendez Jose A | Online mobile applications capable of dealing with occasional disconnects |
US20090234872A1 (en) * | 2008-03-11 | 2009-09-17 | Microsoft Corporation | Synchronization of disconnected/offline data processing/entry |
US9003059B2 (en) * | 2008-03-31 | 2015-04-07 | Microsoft Technology Licensing, Llc | Running applications in an online or offline mode based on the availability of the connection to the remote web server |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
US8307395B2 (en) * | 2008-04-22 | 2012-11-06 | Porto Technology, Llc | Publishing key frames of a video content item being viewed by a first user to one or more second users |
US10496753B2 (en) | 2010-01-18 | 2019-12-03 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US20090300169A1 (en) * | 2008-06-03 | 2009-12-03 | Microsoft Corporation | Synchronization throttling based on user activity |
US8612520B2 (en) | 2008-06-16 | 2013-12-17 | Microsoft Corporation | Online/offline proto link behavior and proto page conflict resolution |
US9032390B2 (en) * | 2008-07-29 | 2015-05-12 | Qualcomm Incorporated | Framework versioning |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
US9197486B2 (en) | 2008-08-29 | 2015-11-24 | Google Inc. | Adaptive accelerated application startup |
WO2010067118A1 (en) | 2008-12-11 | 2010-06-17 | Novauris Technologies Limited | Speech recognition involving a mobile device |
US8812402B2 (en) * | 2009-01-05 | 2014-08-19 | Mastercard International Incorporated | Methods, apparatus and articles for use in association with token |
US8684261B2 (en) * | 2009-01-20 | 2014-04-01 | Mastercard International Incorporated | Methods, apparatus, computer program products and articles for use in providing human understandable indication of account balance |
US20100262582A1 (en) * | 2009-04-10 | 2010-10-14 | Microsoft Corporation | Content synchronization across multiple computers |
US20100268735A1 (en) * | 2009-04-17 | 2010-10-21 | Microsoft Corporation | Online content service with catalog-based interaction |
US20120311585A1 (en) | 2011-06-03 | 2012-12-06 | Apple Inc. | Organizing task items that represent tasks to perform |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US20100328029A1 (en) * | 2009-06-30 | 2010-12-30 | Martin Edward Kolek | Method and apparatus for communication device |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
US8311987B2 (en) * | 2009-08-17 | 2012-11-13 | Sap Ag | Data staging system and method |
US10705794B2 (en) | 2010-01-18 | 2020-07-07 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US10553209B2 (en) | 2010-01-18 | 2020-02-04 | Apple Inc. | Systems and methods for hands-free notification summaries |
US10679605B2 (en) | 2010-01-18 | 2020-06-09 | Apple Inc. | Hands-free list-reading by intelligent automated assistant |
WO2011089450A2 (en) | 2010-01-25 | 2011-07-28 | Andrew Peter Nelson Jerram | Apparatuses, methods and systems for a digital conversation management platform |
US20110202384A1 (en) * | 2010-02-17 | 2011-08-18 | Rabstejnek Wayne S | Enterprise Rendering Platform |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
US8307235B2 (en) | 2010-05-05 | 2012-11-06 | National Instruments Corporation | Cross controller clock synchronization |
US20110289424A1 (en) * | 2010-05-21 | 2011-11-24 | Microsoft Corporation | Secure application of custom resources in multi-tier systems |
GB2481132A (en) * | 2010-06-09 | 2011-12-14 | Omnifone Ltd | Execution container with individual components |
TWI505189B (en) * | 2010-08-27 | 2015-10-21 | Ibm | A method computer program and system for automatic upgrade of virtual appliances |
KR101957951B1 (en) | 2010-09-17 | 2019-03-13 | 구글 엘엘씨 | Methods and systems for moving information between computing devices |
US8850399B2 (en) * | 2010-11-15 | 2014-09-30 | Microsoft Corporation | Software development using code retraction and background warm up |
US10762293B2 (en) | 2010-12-22 | 2020-09-01 | Apple Inc. | Using parts-of-speech tagging and named entity recognition for spelling correction |
US8924556B2 (en) * | 2011-03-11 | 2014-12-30 | Qualcomm Incorporated | System and method for accessing a device having an assigned network address |
US8819233B2 (en) | 2011-03-11 | 2014-08-26 | Qualcomm Incorporated | System and method using a web proxy-server to access a device having an assigned network address |
US8799470B2 (en) | 2011-03-11 | 2014-08-05 | Qualcomm Incorporated | System and method using a client-local proxy-server to access a device having an assigned network address |
US9052898B2 (en) | 2011-03-11 | 2015-06-09 | Qualcomm Incorporated | Remote access and administration of device content, with device power optimization, using HTTP protocol |
US8862693B2 (en) | 2011-03-11 | 2014-10-14 | Qualcomm Incorporated | Remote access and administration of device content and configuration using HTTP protocol |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
JP5760716B2 (en) | 2011-03-30 | 2015-08-12 | 富士通株式会社 | Application providing system, application providing method, information processing apparatus, and information processing program |
JP5975125B2 (en) * | 2011-03-30 | 2016-08-23 | 富士通株式会社 | Application providing system and application providing method |
US20120311614A1 (en) * | 2011-06-02 | 2012-12-06 | Recursion Software, Inc. | Architecture for pervasive software platform-based distributed knowledge network (dkn) and intelligent sensor network (isn) |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
US8527361B2 (en) | 2011-06-27 | 2013-09-03 | Amazon Technologies, Inc. | Service for adding in-application shopping functionality to applications |
US20130007726A1 (en) * | 2011-06-30 | 2013-01-03 | Indrajit Poddar | Virtual machine disk image installation |
US8994660B2 (en) | 2011-08-29 | 2015-03-31 | Apple Inc. | Text correction processing |
US20130159389A1 (en) * | 2011-12-19 | 2013-06-20 | Microsoft Corporation | Utilizing Dynamic Heuristic Transitions between Local and Remote Data for Displaying Electronic Communications |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
US9483461B2 (en) | 2012-03-06 | 2016-11-01 | Apple Inc. | Handling speech synthesis of content for multiple languages |
US9280610B2 (en) | 2012-05-14 | 2016-03-08 | Apple Inc. | Crowd sourcing information to fulfill user requests |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
US9495129B2 (en) | 2012-06-29 | 2016-11-15 | Apple Inc. | Device, method, and user interface for voice-activated navigation and browsing of a document |
US9576574B2 (en) | 2012-09-10 | 2017-02-21 | Apple Inc. | Context-sensitive handling of interruptions by intelligent digital assistant |
US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
KR102516577B1 (en) | 2013-02-07 | 2023-04-03 | 애플 인크. | Voice trigger for a digital assistant |
US9519490B2 (en) * | 2013-03-07 | 2016-12-13 | Microsoft Technology Licensing, Llc | Adaptive data synchronization |
US9368114B2 (en) | 2013-03-14 | 2016-06-14 | Apple Inc. | Context-sensitive handling of interruptions |
WO2014144949A2 (en) | 2013-03-15 | 2014-09-18 | Apple Inc. | Training an at least partial voice command system |
WO2014144579A1 (en) | 2013-03-15 | 2014-09-18 | Apple Inc. | System and method for updating an adaptive speech recognition model |
US10656800B2 (en) | 2013-03-29 | 2020-05-19 | Microsoft Technology Licensing, Llc | Visual configuration and activation |
US10452222B2 (en) | 2013-05-29 | 2019-10-22 | Microsoft Technology Licensing, Llc | Coordination of system readiness tasks |
US9710248B2 (en) | 2013-05-29 | 2017-07-18 | Microsoft Technology Licensing, Llc | Application install and layout syncing |
US9582608B2 (en) | 2013-06-07 | 2017-02-28 | Apple Inc. | Unified ranking with entropy-weighted information for phrase-based semantic auto-completion |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
WO2014197336A1 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for detecting errors in interactions with a voice-based digital assistant |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
EP3008641A1 (en) | 2013-06-09 | 2016-04-20 | Apple Inc. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
CN105265005B (en) | 2013-06-13 | 2019-09-17 | 苹果公司 | System and method for the urgent call initiated by voice command |
US9600805B2 (en) * | 2013-06-25 | 2017-03-21 | Sap Se | Presenting information on a mobile communication device |
WO2015020942A1 (en) | 2013-08-06 | 2015-02-12 | Apple Inc. | Auto-activating smart responses based on activities from remote devices |
US9674225B2 (en) | 2013-09-20 | 2017-06-06 | Open Text Sa Ulc | System and method for updating downloaded applications using managed container |
EP2851833B1 (en) | 2013-09-20 | 2017-07-12 | Open Text S.A. | Application Gateway Architecture with Multi-Level Security Policy and Rule Promulgations |
US10824756B2 (en) | 2013-09-20 | 2020-11-03 | Open Text Sa Ulc | Hosted application gateway architecture with multi-level security policy and rule promulgations |
US20150188991A1 (en) * | 2013-12-31 | 2015-07-02 | Google Inc. | Simulated tethering of computing devices |
US9703801B2 (en) * | 2014-03-25 | 2017-07-11 | Alfresco Software, Inc. | Synchronization of client machines with a content management system repository |
US9620105B2 (en) | 2014-05-15 | 2017-04-11 | Apple Inc. | Analyzing audio input for efficient speech and music recognition |
US10592095B2 (en) | 2014-05-23 | 2020-03-17 | Apple Inc. | Instantaneous speaking of content on touch devices |
US9502031B2 (en) | 2014-05-27 | 2016-11-22 | Apple Inc. | Method for supporting dynamic grammars in WFST-based ASR |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
EP3149728B1 (en) | 2014-05-30 | 2019-01-16 | Apple Inc. | Multi-command single utterance input method |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US9760559B2 (en) | 2014-05-30 | 2017-09-12 | Apple Inc. | Predictive text input |
US10078631B2 (en) | 2014-05-30 | 2018-09-18 | Apple Inc. | Entropy-guided text prediction using combined word and character n-gram language models |
US9734193B2 (en) | 2014-05-30 | 2017-08-15 | Apple Inc. | Determining domain salience ranking from ambiguous words in natural speech |
US9785630B2 (en) | 2014-05-30 | 2017-10-10 | Apple Inc. | Text prediction using combined word N-gram and unigram language models |
US9842101B2 (en) | 2014-05-30 | 2017-12-12 | Apple Inc. | Predictive conversion of language input |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US10289433B2 (en) | 2014-05-30 | 2019-05-14 | Apple Inc. | Domain specific language for encoding assistant dialog |
US10659851B2 (en) | 2014-06-30 | 2020-05-19 | Apple Inc. | Real-time digital assistant knowledge updates |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
CN105245558B (en) * | 2014-07-09 | 2020-04-21 | 腾讯科技(深圳)有限公司 | Application program running method, system and server supporting virtual online |
US10303531B2 (en) | 2014-07-28 | 2019-05-28 | Red Hat, Inc. | Console application through web service |
US10446141B2 (en) | 2014-08-28 | 2019-10-15 | Apple Inc. | Automatic speech recognition based on user feedback |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US10789041B2 (en) | 2014-09-12 | 2020-09-29 | Apple Inc. | Dynamic thresholds for always listening speech trigger |
US9872174B2 (en) | 2014-09-19 | 2018-01-16 | Google Inc. | Transferring application data between devices |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US9886432B2 (en) | 2014-09-30 | 2018-02-06 | Apple Inc. | Parsimonious handling of word inflection via categorical stem + suffix N-gram language models |
US9646609B2 (en) | 2014-09-30 | 2017-05-09 | Apple Inc. | Caching apparatus for serving phonetic pronunciations |
US10599423B2 (en) * | 2014-11-20 | 2020-03-24 | Red Hat, Inc. | Source code management for a multi-tenant platform-as-a-service (PaaS) system |
US10552013B2 (en) | 2014-12-02 | 2020-02-04 | Apple Inc. | Data detection |
US9711141B2 (en) | 2014-12-09 | 2017-07-18 | Apple Inc. | Disambiguating heteronyms in speech synthesis |
US9865280B2 (en) | 2015-03-06 | 2018-01-09 | Apple Inc. | Structured dictation using intelligent automated assistants |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US9899019B2 (en) | 2015-03-18 | 2018-02-20 | Apple Inc. | Systems and methods for structured stem and suffix language models |
CN106161368B (en) | 2015-04-07 | 2020-04-14 | 阿里巴巴集团控股有限公司 | Method, device and system for remotely accessing cloud application |
US9842105B2 (en) | 2015-04-16 | 2017-12-12 | Apple Inc. | Parsimonious continuous-space phrase representations for natural language processing |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
US10127220B2 (en) | 2015-06-04 | 2018-11-13 | Apple Inc. | Language identification from short strings |
US9578173B2 (en) | 2015-06-05 | 2017-02-21 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
US10101822B2 (en) | 2015-06-05 | 2018-10-16 | Apple Inc. | Language input correction |
US10186254B2 (en) | 2015-06-07 | 2019-01-22 | Apple Inc. | Context-based endpoint detection |
US10255907B2 (en) | 2015-06-07 | 2019-04-09 | Apple Inc. | Automatic accent detection using acoustic models |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US9697820B2 (en) | 2015-09-24 | 2017-07-04 | Apple Inc. | Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks |
US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US11593075B2 (en) * | 2015-11-03 | 2023-02-28 | Open Text Sa Ulc | Streamlined fast and efficient application building and customization systems and methods |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US11388037B2 (en) | 2016-02-25 | 2022-07-12 | Open Text Sa Ulc | Systems and methods for providing managed services |
US10446143B2 (en) | 2016-03-14 | 2019-10-15 | Apple Inc. | Identification of voice inputs providing credentials |
US9934775B2 (en) | 2016-05-26 | 2018-04-03 | Apple Inc. | Unit-selection text-to-speech synthesis based on predicted concatenation parameters |
US9972304B2 (en) | 2016-06-03 | 2018-05-15 | Apple Inc. | Privacy preserving distributed evaluation framework for embedded personalized systems |
US10249300B2 (en) | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
DK179309B1 (en) | 2016-06-09 | 2018-04-23 | Apple Inc | Intelligent automated assistant in a home environment |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
DK179343B1 (en) | 2016-06-11 | 2018-05-14 | Apple Inc | Intelligent task discovery |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
US10044836B2 (en) * | 2016-12-19 | 2018-08-07 | Palantir Technologies Inc. | Conducting investigations under limited connectivity |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
DK201770439A1 (en) | 2017-05-11 | 2018-12-13 | Apple Inc. | Offline personal assistant |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
DK201770432A1 (en) | 2017-05-15 | 2018-12-21 | Apple Inc. | Hierarchical belief states for digital assistants |
DK179560B1 (en) | 2017-05-16 | 2019-02-18 | Apple Inc. | Far-field extension for digital assistant services |
US10783929B2 (en) | 2018-03-30 | 2020-09-22 | Apple Inc. | Managing playback groups |
US11297369B2 (en) | 2018-03-30 | 2022-04-05 | Apple Inc. | Remotely controlling playback devices |
US10993274B2 (en) | 2018-03-30 | 2021-04-27 | Apple Inc. | Pairing devices by proxy |
US10614857B2 (en) | 2018-07-02 | 2020-04-07 | Apple Inc. | Calibrating media playback channels for synchronized presentation |
US11016784B2 (en) | 2019-03-08 | 2021-05-25 | Palantir Technologies Inc. | Systems and methods for automated deployment and adaptation of configuration files at computing devices |
JP2022014972A (en) * | 2020-07-08 | 2022-01-21 | 富士通株式会社 | Information processing device and placement destination determination program |
CN113559502A (en) * | 2021-07-27 | 2021-10-29 | Oppo广东移动通信有限公司 | Game offline processing method and device, storage medium and electronic equipment |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5752042A (en) * | 1996-06-07 | 1998-05-12 | International Business Machines Corporation | Server computer for selecting program updates for a client computer based on results of recognizer program(s) furnished to the client computer |
US5870610A (en) * | 1996-06-28 | 1999-02-09 | Siemens Business Communication Systems, Inc. | Autoconfigurable method and system having automated downloading |
US6141010A (en) * | 1998-07-17 | 2000-10-31 | B. E. Technology, Llc | Computer interface method and apparatus with targeted advertising |
US6202207B1 (en) * | 1998-01-28 | 2001-03-13 | International Business Machines Corporation | Method and a mechanism for synchronized updating of interoperating software |
US6226739B1 (en) * | 1999-12-14 | 2001-05-01 | International Business Machines Corporation | Method and computer program for distributing software to a personal palm-type device through a global software distribution package transmittable over the world wide web |
US6237092B1 (en) * | 1998-05-05 | 2001-05-22 | International Business Machines Corp. | Client-server system with central application management allowing an administrator to configure user and group contexts during application configuration without relaunching the application |
US6243468B1 (en) * | 1998-04-29 | 2001-06-05 | Microsoft Corporation | Software anti-piracy system that adapts to hardware upgrades |
US20020049603A1 (en) * | 2000-01-14 | 2002-04-25 | Gaurav Mehra | Method and apparatus for a business applications server |
US6785721B1 (en) * | 2000-06-19 | 2004-08-31 | International Business Machines Corporation | System and method for providing a distributable runtime that deploys web applications and services from a workflow, enterprise, and mail-enabled web application server and platform |
US6845503B1 (en) * | 1999-08-13 | 2005-01-18 | Sun Microsystems, Inc. | System and method for enabling atomic class loading in an application server environment |
Family Cites Families (75)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5134552A (en) * | 1991-07-25 | 1992-07-28 | Progenics Corporation | Acceleration activated energizing device |
US5428729A (en) * | 1991-12-20 | 1995-06-27 | International Business Machines Corporation | System and method for computer aided software engineering |
WO1994025913A2 (en) * | 1993-04-30 | 1994-11-10 | Novadigm, Inc. | Method and apparatus for enterprise desktop management |
US5819283A (en) * | 1993-05-11 | 1998-10-06 | Apple Computer, Inc. | Method and system for the extensibility of objects |
US6714933B2 (en) * | 2000-05-09 | 2004-03-30 | Cnet Networks, Inc. | Content aggregation method and apparatus for on-line purchasing system |
US5485503A (en) * | 1993-08-02 | 1996-01-16 | Motorola, Inc. | Method of remote launching applications in a message delivery system |
US5845090A (en) * | 1994-02-14 | 1998-12-01 | Platinium Technology, Inc. | System for software distribution in a digital computer network |
US6769009B1 (en) * | 1994-05-31 | 2004-07-27 | Richard R. Reisman | Method and system for selecting a personalized set of information channels |
US5694546A (en) * | 1994-05-31 | 1997-12-02 | Reisman; Richard R. | System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list |
WO1996006393A1 (en) * | 1994-08-24 | 1996-02-29 | Arcada Software, Inc. | Application program interface (api) for a medium changer |
US5684984A (en) * | 1994-09-29 | 1997-11-04 | Apple Computer, Inc. | Synchronization and replication of object databases |
US5815682A (en) * | 1994-12-13 | 1998-09-29 | Microsoft Corporation | Device independent modem interface |
US5862346A (en) * | 1996-06-28 | 1999-01-19 | Metadigm | Distributed group activity data network system and corresponding method |
US5870759A (en) * | 1996-10-09 | 1999-02-09 | Oracle Corporation | System for synchronizing data between computers using a before-image of data |
KR100204575B1 (en) * | 1996-10-17 | 1999-06-15 | 정선종 | Remote measurement data compression saving and detecting method in satellite controlling system |
US5923885A (en) | 1996-10-31 | 1999-07-13 | Sun Microsystems, Inc. | Acquisition and operation of remotely loaded software using applet modification of browser software |
US6044381A (en) | 1997-09-11 | 2000-03-28 | Puma Technology, Inc. | Using distributed history files in synchronizing databases |
US6202085B1 (en) * | 1996-12-06 | 2001-03-13 | Microsoft Corportion | System and method for incremental change synchronization between multiple copies of data |
US5923552A (en) * | 1996-12-31 | 1999-07-13 | Buildnet, Inc. | Systems and methods for facilitating the exchange of information between separate business entities |
US6006274A (en) * | 1997-01-30 | 1999-12-21 | 3Com Corporation | Method and apparatus using a pass through personal computer connected to both a local communication link and a computer network for indentifying and synchronizing a preferred computer with a portable computer |
US6366876B1 (en) * | 1997-09-29 | 2002-04-02 | Sun Microsystems, Inc. | Method and apparatus for assessing compatibility between platforms and applications |
US6134552A (en) * | 1997-10-07 | 2000-10-17 | Sap Aktiengesellschaft | Knowledge provider with logical hyperlinks |
US6496979B1 (en) * | 1997-10-24 | 2002-12-17 | Microsoft Corporation | System and method for managing application installation for a mobile device |
US6295645B1 (en) * | 1997-12-22 | 2001-09-25 | Texas Instruments Incorporated | Method and apparatus for providing downloadable functionality to an embedded coprocessor |
DE69938547T2 (en) * | 1998-03-03 | 2009-06-18 | Siebel Systems, Inc., San Mateo | PROCESS, SYSTEM, DEVICE AND PROGRAM FOR DISTRIBUTION AND INTRODUCTION OF SOFTWARE UPGRADE |
US6349408B1 (en) * | 1998-03-23 | 2002-02-19 | Sun Microsystems, Inc. | Techniques for implementing a framework for extensible applications |
US6813777B1 (en) * | 1998-05-26 | 2004-11-02 | Rockwell Collins | Transaction dispatcher for a passenger entertainment system, method and article of manufacture |
US6131192A (en) * | 1998-06-18 | 2000-10-10 | Microsoft Corporation | Software installation |
US6381742B2 (en) * | 1998-06-19 | 2002-04-30 | Microsoft Corporation | Software package management |
JP3004008B1 (en) * | 1998-10-20 | 2000-01-31 | 三菱電機株式会社 | Update history management device and update history management method |
US6112246A (en) * | 1998-10-22 | 2000-08-29 | Horbal; Mark T. | System and method for accessing information from a remote device and providing the information to a client workstation |
EP1125262A1 (en) * | 1998-10-27 | 2001-08-22 | Visa International Service Association | Delegated management of smart card applications |
US6553375B1 (en) * | 1998-11-25 | 2003-04-22 | International Business Machines Corporation | Method and apparatus for server based handheld application and database management |
US6349333B1 (en) * | 1998-12-04 | 2002-02-19 | Sun Microsystems, Inc. | Platform independent alarm service for manipulating managed objects in a distributed network management system |
US6510466B1 (en) * | 1998-12-14 | 2003-01-21 | International Business Machines Corporation | Methods, systems and computer program products for centralized management of application programs on a network |
US6338068B1 (en) * | 1998-12-14 | 2002-01-08 | International Business Machines Corporation | Method to demonstrate software that performs database queries |
US6507867B1 (en) * | 1998-12-22 | 2003-01-14 | International Business Machines Corporation | Constructing, downloading, and accessing page bundles on a portable client having intermittent network connectivity |
US6311321B1 (en) * | 1999-02-22 | 2001-10-30 | Intel Corporation | In-context launch wrapper (ICLW) module and method of automating integration of device management applications into existing enterprise management consoles |
US6553037B1 (en) | 1999-04-08 | 2003-04-22 | Palm, Inc. | System and method for synchronizing data among a plurality of users via an intermittently accessed network |
US6425126B1 (en) * | 1999-05-19 | 2002-07-23 | International Business Machines Corporation | Apparatus and method for synchronizing software between computers |
JP2001005622A (en) * | 1999-05-26 | 2001-01-12 | Xerox Corp | Printlet system and its method |
US6957186B1 (en) * | 1999-05-27 | 2005-10-18 | Accenture Llp | System method and article of manufacture for building, managing, and supporting various components of a system |
US6430599B1 (en) * | 1999-06-15 | 2002-08-06 | Sun Microsystems, Inc. | Just-in-time services for small footprint devices |
US6910053B1 (en) | 1999-06-18 | 2005-06-21 | Sap Aktiengesellschaft | Method for data maintenance in a network of partially replicated database systems |
EP1093061A1 (en) | 1999-10-14 | 2001-04-18 | SAP Aktiengesellschaft | Integrated database federation system |
US6390920B1 (en) * | 1999-06-18 | 2002-05-21 | Rockwell Collins, Inc. | Vehicle entertainment system having seat controller cards programmed to operate as both browser and server |
US6560655B1 (en) * | 1999-06-22 | 2003-05-06 | Microsoft Corporation | Synchronization manager for standardized synchronization of separate programs |
US6282711B1 (en) * | 1999-08-10 | 2001-08-28 | Hewlett-Packard Company | Method for more efficiently installing software components from a remote server source |
AU6641000A (en) | 1999-08-11 | 2001-03-05 | Ethos Technologies, Inc. | Download manager |
US6742025B2 (en) * | 1999-09-30 | 2004-05-25 | International Business Machines Corp. | System and method for server managed modification of operating system data stored within a network device |
US6578054B1 (en) * | 1999-10-04 | 2003-06-10 | Microsoft Corporation | Method and system for supporting off-line mode of operation and synchronization using resource state information |
US6772393B1 (en) * | 2000-01-04 | 2004-08-03 | International Business Machines Corporation | System and method for room decoration and inheritance |
EP1117220A1 (en) * | 2000-01-14 | 2001-07-18 | Sun Microsystems, Inc. | Method and system for protocol conversion |
US7072934B2 (en) | 2000-01-14 | 2006-07-04 | Saba Software, Inc. | Method and apparatus for a business applications server management system platform |
US6615276B1 (en) * | 2000-02-09 | 2003-09-02 | International Business Machines Corporation | Method and apparatus for a centralized facility for administering and performing connectivity and information management tasks for a mobile user |
JP2001306308A (en) | 2000-04-11 | 2001-11-02 | Sap Ag | Method for defining class of data center application |
US7814208B2 (en) * | 2000-04-11 | 2010-10-12 | Science Applications International Corporation | System and method for projecting content beyond firewalls |
US6915525B2 (en) * | 2000-04-14 | 2005-07-05 | Sony Corporation | Method and apparatus for controlling set-top box hardware and software functions |
JP2001351008A (en) * | 2000-06-06 | 2001-12-21 | Fujitsu Ltd | Method and system for advertisement delivery |
US6574617B1 (en) * | 2000-06-19 | 2003-06-03 | International Business Machines Corporation | System and method for selective replication of databases within a workflow, enterprise, and mail-enabled web application server and platform |
US6845383B1 (en) * | 2000-06-19 | 2005-01-18 | International Business Machines Corporation | System and method for managing concurrent scheduled or on-demand replication of subscriptions |
AU2001275874A1 (en) * | 2000-07-07 | 2002-01-21 | Consilient, Inc. | Method and apparatus for providing process-container platforms |
WO2002021413A2 (en) * | 2000-09-05 | 2002-03-14 | Zaplet, Inc. | Methods and apparatus providing electronic messages that are linked and aggregated |
US20020065800A1 (en) * | 2000-11-30 | 2002-05-30 | Morlitz David M. | HTTP archive file |
US20020073076A1 (en) * | 2000-12-11 | 2002-06-13 | Yongjie Xu | System and method for enabling off-line database functionality |
US20030088483A1 (en) * | 2000-12-28 | 2003-05-08 | Bissell, Inc. | System, method and computer program product for an enhanced E-commerce graphical user interface |
US20020161826A1 (en) * | 2001-01-25 | 2002-10-31 | Carlos Arteaga | System and method for remote communication transactions |
US7024428B1 (en) * | 2001-02-23 | 2006-04-04 | Openwave Systems Inc. | Reliable data synchronization over unreliable networks |
US6574561B2 (en) * | 2001-03-30 | 2003-06-03 | The University Of North Florida | Emergency management system |
US20020147850A1 (en) * | 2001-04-05 | 2002-10-10 | Richards Gregory W. | Electronic survey tool and dynamic workflow tool |
US20020174372A1 (en) * | 2001-05-18 | 2002-11-21 | Buvana Venkataraman | Method and apparatus for providing synchronized data |
GB2375926B (en) * | 2001-05-24 | 2004-09-22 | 3G Lab Ltd | Method of browser-server communication |
US20030056207A1 (en) * | 2001-06-06 | 2003-03-20 | Claudius Fischer | Process for deploying software from a central computer system to remotely located devices |
US6801940B1 (en) * | 2002-01-10 | 2004-10-05 | Networks Associates Technology, Inc. | Application performance monitoring expert |
US7379978B2 (en) * | 2002-07-19 | 2008-05-27 | Fiserv Incorporated | Electronic item management and archival system and method of operating the same |
-
2002
- 2002-06-05 US US10/164,248 patent/US20030056207A1/en not_active Abandoned
- 2002-06-05 US US10/164,187 patent/US20030046448A1/en not_active Abandoned
- 2002-06-05 US US10/164,145 patent/US7143419B2/en not_active Expired - Lifetime
- 2002-06-05 US US10/164,188 patent/US20030046017A1/en not_active Abandoned
- 2002-06-05 US US10/164,224 patent/US20030055927A1/en not_active Abandoned
- 2002-06-05 US US10/164,225 patent/US7162543B2/en not_active Expired - Lifetime
- 2002-06-06 EP EP02756131A patent/EP1407375A4/en not_active Withdrawn
- 2002-06-06 AU AU2002318177A patent/AU2002318177A1/en not_active Abandoned
- 2002-06-06 WO PCT/US2002/017949 patent/WO2002099592A2/en not_active Application Discontinuation
- 2002-06-06 EP EP02744239A patent/EP1407353A4/en not_active Ceased
- 2002-06-06 AU AU2002314946A patent/AU2002314946A1/en not_active Abandoned
- 2002-06-06 WO PCT/US2002/017968 patent/WO2002099595A2/en not_active Application Discontinuation
- 2002-06-06 EP EP02756132A patent/EP1407364A4/en not_active Ceased
- 2002-06-06 EP EP02741875A patent/EP1497723A4/en not_active Ceased
- 2002-06-06 WO PCT/US2002/017965 patent/WO2002099593A2/en not_active Application Discontinuation
- 2002-06-06 EP EP02741877A patent/EP1407373A4/en not_active Ceased
- 2002-06-06 WO PCT/US2002/017969 patent/WO2002099596A2/en not_active Application Discontinuation
- 2002-06-06 WO PCT/US2002/017967 patent/WO2002099594A2/en not_active Application Discontinuation
- 2002-06-06 AU AU2002314948A patent/AU2002314948A1/en not_active Abandoned
- 2002-06-06 EP EP02747882A patent/EP1497743A4/en not_active Ceased
- 2002-06-06 AU AU2002322042A patent/AU2002322042A1/en not_active Abandoned
- 2002-06-06 WO PCT/US2002/017950 patent/WO2002099638A1/en not_active Application Discontinuation
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5752042A (en) * | 1996-06-07 | 1998-05-12 | International Business Machines Corporation | Server computer for selecting program updates for a client computer based on results of recognizer program(s) furnished to the client computer |
US5870610A (en) * | 1996-06-28 | 1999-02-09 | Siemens Business Communication Systems, Inc. | Autoconfigurable method and system having automated downloading |
US6202207B1 (en) * | 1998-01-28 | 2001-03-13 | International Business Machines Corporation | Method and a mechanism for synchronized updating of interoperating software |
US6243468B1 (en) * | 1998-04-29 | 2001-06-05 | Microsoft Corporation | Software anti-piracy system that adapts to hardware upgrades |
US6237092B1 (en) * | 1998-05-05 | 2001-05-22 | International Business Machines Corp. | Client-server system with central application management allowing an administrator to configure user and group contexts during application configuration without relaunching the application |
US6141010A (en) * | 1998-07-17 | 2000-10-31 | B. E. Technology, Llc | Computer interface method and apparatus with targeted advertising |
US6845503B1 (en) * | 1999-08-13 | 2005-01-18 | Sun Microsystems, Inc. | System and method for enabling atomic class loading in an application server environment |
US6226739B1 (en) * | 1999-12-14 | 2001-05-01 | International Business Machines Corporation | Method and computer program for distributing software to a personal palm-type device through a global software distribution package transmittable over the world wide web |
US20020049603A1 (en) * | 2000-01-14 | 2002-04-25 | Gaurav Mehra | Method and apparatus for a business applications server |
US6785721B1 (en) * | 2000-06-19 | 2004-08-31 | International Business Machines Corporation | System and method for providing a distributable runtime that deploys web applications and services from a workflow, enterprise, and mail-enabled web application server and platform |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030023657A1 (en) * | 2001-06-06 | 2003-01-30 | Claudius Fischer | Device for running offline applications and synchronizing with a central computer system |
US20030037254A1 (en) * | 2001-06-06 | 2003-02-20 | Claudius Fischer | Process for synchronizing data between remotely located devices and a central computer system |
US20030046448A1 (en) * | 2001-06-06 | 2003-03-06 | Claudius Fischer | Application programming interface layer for a device |
US20030055927A1 (en) * | 2001-06-06 | 2003-03-20 | Claudius Fischer | Framework for a device and a computer system needing synchronization |
US7143419B2 (en) | 2001-06-06 | 2006-11-28 | Sap Ag | Device for running offline applications and synchronizing with a central computer system |
US7162543B2 (en) | 2001-06-06 | 2007-01-09 | Sap Ag | Process for synchronizing data between remotely located devices and a central computer system |
CN1307544C (en) * | 2003-10-23 | 2007-03-28 | 国际商业机器公司 | Method and apparatus for deploying software via post-load images |
US20090024645A1 (en) * | 2007-07-16 | 2009-01-22 | Sudhir Krishna S | Method and system for generating offline applications |
US20090300596A1 (en) * | 2008-05-29 | 2009-12-03 | Research In Motion Limited | Method and system for performing a software upgrade on an electronic device connected to a computer |
US8260273B2 (en) | 2008-05-29 | 2012-09-04 | Research In Motion Limited | Method and system for establishing a service relationship between a mobile communication device and a mobile data server for connecting to a wireless network |
EP2128760A1 (en) * | 2008-05-29 | 2009-12-02 | Research in Motion Limited | A method and system for performing a software upgrade on an electronic device connected to a computer |
US20090300137A1 (en) * | 2008-05-29 | 2009-12-03 | Research In Motion Limited | Method, system and devices for communicating between an internet browser and an electronic device |
US7865573B2 (en) | 2008-05-29 | 2011-01-04 | Research In Motion Limited | Method, system and devices for communicating between an internet browser and an electronic device |
US20110078120A1 (en) * | 2008-05-29 | 2011-03-31 | Research In Motion Limited | Method, system and devices for communicating between an internet browser and an electronic device |
US8041346B2 (en) | 2008-05-29 | 2011-10-18 | Research In Motion Limited | Method and system for establishing a service relationship between a mobile communication device and a mobile data server for connecting to a wireless network |
US20090298478A1 (en) * | 2008-05-29 | 2009-12-03 | Research In Motion Limited | Method and system for establishing a service relationship between a mobile communication device and a mobile data server for connecting to a wireless network |
US8418168B2 (en) | 2008-05-29 | 2013-04-09 | Research In Motion Limited | Method and system for performing a software upgrade on an electronic device connected to a computer |
US8457609B2 (en) | 2008-05-29 | 2013-06-04 | Research In Motion Limited | Method and system for establishing a service relationship between a mobile communication device and a mobile data server for connecting to a wireless network |
US9043282B2 (en) | 2008-05-29 | 2015-05-26 | Blackberry Limited | Method, system and devices for communicating between an internet browser and an electronic device |
US10839329B2 (en) | 2016-10-25 | 2020-11-17 | Sap Se | Process execution using rules framework flexibly incorporating predictive modeling |
US11580440B2 (en) | 2016-12-02 | 2023-02-14 | Sap Se | Dynamic form with machine learning |
US11063744B2 (en) | 2017-10-20 | 2021-07-13 | Sap Se | Document flow tracking using blockchain |
CN109491673A (en) * | 2018-11-01 | 2019-03-19 | 郑州云海信息技术有限公司 | A kind of method and system of automatic verifying software deployment integrality |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7143419B2 (en) | Device for running offline applications and synchronizing with a central computer system | |
US7370335B1 (en) | System and method for providing a public application program interface | |
US5634127A (en) | Methods and apparatus for implementing a message driven processor in a client-server environment | |
US6167563A (en) | Method and system for building components in a framework useful in developing integrated business-centric applications | |
US6920456B2 (en) | Method, system, and program for maintaining information in database tables and performing operations on data in the database tables | |
US7177865B2 (en) | Data synchronization method and system | |
US20020065879A1 (en) | Client server system with thin client architecture | |
US20040193652A1 (en) | Dynamic generation and automated distribution of user interface from database model | |
US20090183138A1 (en) | System and method for mobile software application development and deployment | |
EP1061446A2 (en) | Web-based enterprise management with multiple repository capability | |
US20050055698A1 (en) | Server-driven data synchronization method and system | |
US20020188625A1 (en) | Method, system and computer program for executing hot migrate operation using migration plug-ins | |
EP1010310A1 (en) | Universal adapter framework and providing a global user interface and global messaging bus | |
US6701323B2 (en) | Object management system and method for distributed object system | |
US6292824B1 (en) | Framework and method for facilitating client-server programming and interactions | |
Chiu | A script language for generating internet-bots | |
Shaofeng et al. | A framework design of workflow management system with Java RMI | |
Christodoulou | Thin Client Technology in Construction Management | |
Ganci et al. | e-Commerce Patterns Using WebSphere Commerce Suite |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SAPMARKETS, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:FISCHER, CLAUDIUS;STEPHAN, THORSTEN;SCHMIDT-KARACA, MARKUS;AND OTHERS;REEL/FRAME:013437/0814;SIGNING DATES FROM 20020923 TO 20021018 |
|
AS | Assignment |
Owner name: SAP AG, GERMANY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SAPMARKETS, INC.;REEL/FRAME:016888/0297 Effective date: 20020625 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |