US20030046448A1 - Application programming interface layer for a device - Google Patents

Application programming interface layer for a device Download PDF

Info

Publication number
US20030046448A1
US20030046448A1 US10164187 US16418702A US2003046448A1 US 20030046448 A1 US20030046448 A1 US 20030046448A1 US 10164187 US10164187 US 10164187 US 16418702 A US16418702 A US 16418702A US 2003046448 A1 US2003046448 A1 US 2003046448A1
Authority
US
Grant status
Application
Patent type
Prior art keywords
device
mobile
system
computer
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
Application number
US10164187
Inventor
Claudius Fischer
Thorsten Stephan
Markus Schmidt-Karaca
Jochen Hertweck
Franz Muller
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SAP SE
SAPMarkets Inc
Original Assignee
SAP SE
SAPMarkets Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Abstract

An application programming interface layer for devices, such as handheld computers, personal digital assistants (PDAs), Internet enabled phones, laptops, and desktop computers or the like, that provides device independence so applications may run on any of such devices without specific programming for device specific dependencies. Such devices can run business applications offline and synchronize data with a computer system, such as a business electronic commerce system via a standard Internet connection or other network connection. Further, such devices permit allows the automatic installation and/or deinstallation of applications on the devices from the computer system.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • [0001]
    This application arises from provisional application No. 60/296,234 filed on Jun. 6, 2001 and No. 60/296,993 filed on Jun. 8, 2001 and claims the benefit thereof.
  • FIELD OF THE INVENTION
  • [0002]
    This invention relates to providing an application programming interface (API) layer for devices, such as handheld computers, personal digital assistants (PDAs), Internet-enabled phones, laptops, and desktop computers or the like, that provides device independence for applications running thereon. Such devices may run business applications offline and synchronize data with a computer system, such as a business electronic commerce system via a standard Internet connection or other connection. Such devices may also enable the automatic installation and/or deinstallation of applications thereon from the computer system.
  • BACKGROUND OF THE INVENTION
  • [0003]
    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.
  • [0004]
    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.
  • [0005]
    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.
  • [0006]
    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.
  • [0007]
    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 enable 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 a repair, rather than making them enter the information while the device is online with the computer system.
  • [0008]
    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.
  • [0009]
    Because a company may 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 and manage 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.
  • [0010]
    A need exists for an API layer that provides device independence for applications to be run thereon for use with mobile devices or desktop computers that run business applications offline and synchronize data with a computer systems over a standard Internet connection or other connection.
  • SUMMARY OF THE INVENTION
  • [0011]
    An embodiment of the present invention provides an application programming interface layer that provides device independence for business applications running offline on devices that synchronize data with a computer system over a standard Internet connection.
  • [0012]
    As such, it is an object of the present invention to permit device independence for business applications to be run on a device that synchronizes data thereon with a computer system over a standard Internet connection or other connection.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • [0013]
    [0013]FIG. 1 is a block diagram of a mobile device according to an embodiment of the present invention.
  • [0014]
    [0014]FIG. 2 is a block diagram of a mobile device having an API layer according to an embodiment of the present invention.
  • [0015]
    [0015]FIG. 3 is a block diagram of a synchronization system according to an embodiment of the present invention.
  • [0016]
    [0016]FIG. 4 is a block diagram of a computer system having a synchronization system according to an embodiment of the present invention.
  • [0017]
    [0017]FIG. 5 is a flow chart illustrating a synchronization process according to an embodiment of the present invention.
  • [0018]
    [0018]FIG. 6 is a block diagram of a deployment console according to an embodiment of the present invention.
  • [0019]
    [0019]FIG. 7 is a flow chart illustrating a deployment process according to an embodiment of the present invention.
  • [0020]
    [0020]FIG. 8 is a flow chart illustrating a deployment process according to another embodiment of the present invention.
  • DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • [0021]
    The present invention will be better understood by reference to the accompanying drawings.
  • [0022]
    [0022]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.
  • [0023]
    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.
  • [0024]
    When mobile device 100 is operating with a computer system over the Internet in an online mode and applications are being run from computer system 200 across the connection, browser 105 is connected to computer system 200, such as an application server, in a traditional manner represented by box 197.
  • [0025]
    When mobile device 100 is operating in an offline mode and applications are being run locally on mobile 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 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. 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.
  • [0026]
    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. Preferably, web server 115 is single threaded and has a small footprint.
  • [0027]
    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.
  • [0028]
    Various different programming models can be deployed in mobile engine 110 as modular offline building blocks. For instance, a proprietary model 125, like SAPMarket's MicroITS, may be deployed which is designed to maximize certain types of transactions based upon the foreseen use of mobile device 100. MicroITS model 125 contains a flow logic parser, HTML business parser, language resource parser/preparser and module provider.
  • [0029]
    A 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.
  • [0030]
    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. 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.
  • [0031]
    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.
  • [0032]
    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.
  • [0033]
    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 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.
  • [0034]
    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.
  • [0035]
    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 and the groups of methods basket.class 20 a and catalog.class 20 b.
  • [0036]
    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.
  • [0037]
    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 and mobile device 100.
  • [0038]
    Many business applications utilize XML. So an XML translation service 155 can be provided.
  • [0039]
    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.
  • [0040]
    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.
  • [0041]
    Local database access 170 is provided to permit access to database 180.
  • [0042]
    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.
  • [0043]
    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.
  • [0044]
    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 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.
  • [0045]
    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.
  • [0046]
    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.
  • [0047]
    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.
  • [0048]
    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.
  • [0049]
    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.
  • [0050]
    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.
  • [0051]
    In 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.
  • [0052]
    Sample Java code for initiating a synchronization process follows:
  • [0053]
    try{
  • [0054]
    SyncOutboundContainer.doSync( );
  • [0055]
    }catch (SyncException ex) {
  • [0056]
    // do something
  • [0057]
    }
  • [0058]
    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.
  • [0059]
    Data container 230 is normally made up of a header 240 and a body 250. However, certain types of containers may not require 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.
  • [0060]
    The following is sample Java code for an outgoing data container:
  • [0061]
    String MyOwner; // best the username on the PDA
  • [0062]
    try{
  • [0063]
    SyncOutboundContainer syncOutboundContainer=new SyncOutboundContainer(MyOwner, GETAPPROVERLIST);
  • [0064]
    syncOutboundContainer.open( );
  • [0065]
    String value_for_I_CFGUID=// do something to fill value
  • [0066]
    syncOutboundContainer.addItem(“I_CFGUID”, 0,value_for_I_CFGUID);
  • [0067]
    String value_for_I_OBJTYPE=// do something to fill value
  • [0068]
    syncOutboundContainer.addItem(“I_OBJTYPE”, 0,value_for_I_OBJTYPE);
  • [0069]
    int NoOfLinesInTable_E_APPROVER;
  • [0070]
    for (int line=0; line<NoOfLinesInTable_E_APPROVER line++) {
  • [0071]
    String line_for_E_APPROVER=// do something to fill line
  • [0072]
    syncOutboundContainer.addItem(“E_APPROVER”,line,line_for_E_APPROVER);
  • [0073]
    }
  • [0074]
    syncOutboundContainer.close( );
  • [0075]
    }catch (SyncException ex) {
  • [0076]
    // will always happen if method “GETAPPROVERLIST” is not registered
  • [0077]
    }
  • [0078]
    [0078]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.
  • [0079]
    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.
  • [0080]
    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.
  • [0081]
    Making reference now to FIGS. 4 and 5, in 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.
  • [0082]
    In 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. In 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.
  • [0083]
    In 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.
  • [0084]
    In step 240, the incoming containers are read out of inbound container database 260 by scheduled function module 265. In step 242, 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.
  • [0085]
    In 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. Depending on the type of incoming containers, the responsive outgoing containers may be sent immediately in step 249 or may be stored until the next time a synchronization process is initiated.
  • [0086]
    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 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.
  • [0087]
    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.
  • [0088]
    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.
  • [0089]
    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 modular application building blocks 125 and/or 135.
  • [0090]
    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 the application function modules 220. Deployment console 400 is preferably programmed in a language supported by computer 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.
  • [0091]
    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.
  • [0092]
    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.
  • [0093]
    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.
  • [0094]
    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.
  • [0095]
    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.
  • [0096]
    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.
  • [0097]
    Installation protocol module 434 is provided. It permits an administrator to update or alter installation protocol.
  • [0098]
    Device type/ID handler 440 is provided which determines how to handle different device types.
  • [0099]
    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.
  • [0100]
    When 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.
  • [0101]
    A process for deploying and installing the framework according to an embodiment of the present invention is shown in FIG. 7.
  • [0102]
    In order to install the mobile engine framework, 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.
  • [0103]
    In 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.
  • [0104]
    Upon this connection, a data container containing information from registry service 175 is sent to a deployment console on computer system 200. As shown in step 325, 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.
  • [0105]
    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.
  • [0106]
    In FIG. 8, a process using the registry in association with the deployment console is depicted. In step 350, the user opens browser 105 and connects to computer 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 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.
  • [0107]
    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 on mobile device 100 in step 360. In 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.
  • [0108]
    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 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.
  • [0109]
    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.
  • [0110]
    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 (5)

    What is claimed is:
  1. 1. An application programming interface layer for use on a plurality of different types of devices, said application programming interface layer providing device independence for applications running thereon, comprising:
    a plurality of module providers; and
    a plurality of packages of methods, each of said packages comprising methods needed for a function, wherein each of said packages is associated with one of said plurality of module providers.
  2. 2. An application programming interface layer as in claim 1, wherein said methods are Java methods.
  3. 3. An application programming interface layer as in claim 1, wherein said plurality of packages of methods comprise a basket class and a catalog class.
  4. 4. An application programming interface layer as in claim 1, wherein said plurality of devices comprise at least two of a PDA, a Internet-enabled phone, and a laptop computer.
  5. 5. An application programming interface layer as in claim 1, wherein said application programming interface layer further permits programming models, offline applications and services to be loaded and installed on said devices without intervention from a programmer.
US10164187 2001-06-06 2002-06-05 Application programming interface layer for a device Abandoned US20030046448A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US29623401 true 2001-06-06 2001-06-06
US29699301 true 2001-06-08 2001-06-08
US10164187 US20030046448A1 (en) 2001-06-06 2002-06-05 Application programming interface layer for a device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10164187 US20030046448A1 (en) 2001-06-06 2002-06-05 Application programming interface layer for a device

Publications (1)

Publication Number Publication Date
US20030046448A1 true true US20030046448A1 (en) 2003-03-06

Family

ID=26969557

Family Applications (6)

Application Number Title Priority Date Filing Date
US10164248 Abandoned US20030056207A1 (en) 2001-06-06 2002-06-05 Process for deploying software from a central computer system to remotely located devices
US10164224 Abandoned US20030055927A1 (en) 2001-06-06 2002-06-05 Framework for a device and a computer system needing synchronization
US10164225 Active 2024-01-29 US7162543B2 (en) 2001-06-06 2002-06-05 Process for synchronizing data between remotely located devices and a central computer system
US10164188 Abandoned US20030046017A1 (en) 2001-06-06 2002-06-05 Deployment console for use with a computer system deploying software to remotely located devices
US10164145 Active 2023-09-20 US7143419B2 (en) 2001-06-06 2002-06-05 Device for running offline applications and synchronizing with a central computer system
US10164187 Abandoned US20030046448A1 (en) 2001-06-06 2002-06-05 Application programming interface layer for a device

Family Applications Before (5)

Application Number Title Priority Date Filing Date
US10164248 Abandoned US20030056207A1 (en) 2001-06-06 2002-06-05 Process for deploying software from a central computer system to remotely located devices
US10164224 Abandoned US20030055927A1 (en) 2001-06-06 2002-06-05 Framework for a device and a computer system needing synchronization
US10164225 Active 2024-01-29 US7162543B2 (en) 2001-06-06 2002-06-05 Process for synchronizing data between remotely located devices and a central computer system
US10164188 Abandoned US20030046017A1 (en) 2001-06-06 2002-06-05 Deployment console for use with a computer system deploying software to remotely located devices
US10164145 Active 2023-09-20 US7143419B2 (en) 2001-06-06 2002-06-05 Device for running offline applications and synchronizing with a central computer system

Country Status (3)

Country Link
US (6) US20030056207A1 (en)
EP (6) EP1407375A4 (en)
WO (6) WO2002099638A1 (en)

Cited By (25)

* Cited by examiner, † Cited by third party
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
US20040054757A1 (en) * 2002-09-14 2004-03-18 Akinobu Ueda System for remote control of computer resources from embedded handheld devices
US20040142683A1 (en) * 2002-11-08 2004-07-22 Matt Clark Programming interface layer of a service provider for data service delivery
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
US20040223061A1 (en) * 2003-05-05 2004-11-11 Bear Eric Gould Computer camera system and method for reducing parallax
US20040267812A1 (en) * 2003-06-26 2004-12-30 Microsoft Corporation Media platform
US20050068423A1 (en) * 2003-09-30 2005-03-31 Microsoft Corporation Method and system for capturing video on a personal computer
US20050183098A1 (en) * 2004-02-18 2005-08-18 Kosta Ilic Application programming interface for synchronizing multiple instrumentation devices
US20060095916A1 (en) * 2004-10-29 2006-05-04 Kyocera Corporation Mobile phone terminal, program management method, and computer program for the same
US20060130075A1 (en) * 2004-11-23 2006-06-15 Microsoft Corporation Method and system for exchanging data between computer systems and auxiliary displays
US20060164324A1 (en) * 2004-11-23 2006-07-27 Microsoft Corporation Sending notifications to auxiliary displays
US20060176271A1 (en) * 2005-02-07 2006-08-10 Microsoft Corporation Interface for consistent program interaction with auxiliary computing devices
US20060183085A1 (en) * 2005-02-15 2006-08-17 Microsoft Corporation Multi-interface aware scenario execution environment
US20060242590A1 (en) * 2005-04-21 2006-10-26 Microsoft Corporation Simple content format for auxiliary display devices
US20060284787A1 (en) * 2003-05-05 2006-12-21 Microsoft Corporation Method and system for auxiliary display of information for a computing device
US20070150719A1 (en) * 2003-09-30 2007-06-28 Microsoft Corporation Method and system for unified audio control on a personal computer
US20080148367A1 (en) * 2006-10-12 2008-06-19 Microsoft Corporation Preserving a process instance for use by different user interfaces
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
US20090207991A1 (en) * 2003-05-20 2009-08-20 Microsoft Corporation Enhanced telephony computer user interface allowing user interaction and control of a telephone using a personal computer
US7711868B2 (en) 2004-11-23 2010-05-04 Microsoft Corporation Waking a main computer system to pre-fetch data for an auxiliary computing device
US7827232B2 (en) 2003-05-05 2010-11-02 Microsoft Corporation Record button on a computer system
US20110202378A1 (en) * 2010-02-17 2011-08-18 Rabstejnek Wayne S Enterprise rendering platform
US8307235B2 (en) 2010-05-05 2012-11-06 National Instruments Corporation Cross controller clock synchronization
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)
US9628549B1 (en) * 2002-02-15 2017-04-18 F5 Networks, Inc. Method and system for controlling and accessing content servers

Families Citing this family (263)

* Cited by examiner, † Cited by third party
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 ソニー株式会社 The information processing apparatus, information processing method, a program, and a recording medium, the terminal device, and a method of system and system
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
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
US7788602B2 (en) * 2000-06-06 2010-08-31 Microsoft Corporation Method and system for providing restricted actions for recognized semantic categories
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 ソニー株式会社 An 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
US9412417B2 (en) * 2002-04-05 2016-08-09 Apple Inc. Persistent group of media items for a media device
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
KR100718613B1 (en) * 2001-10-22 2007-05-16 애플 인크. Intelligent synchronization for a media player
US6947943B2 (en) 2001-10-26 2005-09-20 Zeosoft Technology Group, Inc. System for development, management and operation of distributed clients and servers
US7447745B2 (en) * 2002-01-07 2008-11-04 Flash Networks, Ltd System and a method for accelerating communication between a client and an email server
US7571221B2 (en) * 2002-04-03 2009-08-04 Hewlett-Packard Development Company, L.P. Installation of network services in an embedded network server
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
US7707024B2 (en) * 2002-05-23 2010-04-27 Microsoft Corporation Method, system, and apparatus for converting currency values 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
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
US7797446B2 (en) * 2002-07-16 2010-09-14 Apple Inc. Method and system for updating playlists
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
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
CN1695146A (en) * 2002-11-02 2005-11-09 国际商业机器公司 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
WO2004092982A3 (en) * 2003-04-07 2005-01-20 Dexterra Inc System and method for context sensitive mobile data and software update
US20060164239A1 (en) * 2003-01-14 2006-07-27 Loda David C Shipping container and method of using same
WO2004064481A3 (en) 2003-01-23 2004-11-18 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
US7296255B2 (en) * 2003-02-25 2007-11-13 Bea Systems, Inc. Systems 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
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
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
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
US7478390B2 (en) * 2003-09-25 2009-01-13 International Business Machines Corporation Task queue management of virtual devices using a plurality of processors
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
US7523157B2 (en) * 2003-09-25 2009-04-21 International Business Machines Corporation Managing a plurality of processors as devices
US7549145B2 (en) 2003-09-25 2009-06-16 International Business Machines Corporation Processor dedicated code handling in a multi-processor 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
US7415703B2 (en) * 2003-09-25 2008-08-19 International Business Machines Corporation Loading software on a plurality of processors
US7930757B2 (en) * 2003-10-31 2011-04-19 Adobe Systems Incorporated Offline access in a document control system
US8108672B1 (en) 2003-10-31 2012-01-31 Adobe Systems Incorporated Transparent authentication process integration
US8627489B2 (en) * 2003-10-31 2014-01-07 Adobe Systems Incorporated Distributed document version control
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 株式会社ブロードリーフ System environment regulation violation detecting method for a 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
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
US9715500B2 (en) * 2004-04-27 2017-07-25 Apple Inc. Method and system for sharing playlists
US7827259B2 (en) * 2004-04-27 2010-11-02 Apple Inc. Method and system for configurable automatic media selection
WO2005114472A1 (en) 2004-05-18 2005-12-01 Koninklijke Philips Electronics N.V. Method of data synchronization
WO2005116888A3 (en) * 2004-05-26 2006-03-23 Man Bytes Dog Ltd Method of providing computing resources to computers operated by different companies
US8443038B2 (en) 2004-06-04 2013-05-14 Apple Inc. Network media device
US8797926B2 (en) 2004-06-04 2014-08-05 Apple Inc. Networked media station
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
US7680849B2 (en) 2004-10-25 2010-03-16 Apple Inc. Multiple media type synchronization between host computer and media device
US8150937B2 (en) * 2004-10-25 2012-04-03 Apple Inc. Wireless synchronization between media player and host device
US7433546B2 (en) * 2004-10-25 2008-10-07 Apple Inc. Image scaling arrangement
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
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
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
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
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
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
US20070133779A1 (en) * 2005-09-13 2007-06-14 Sunil Kumar Systems and method for call center processing
US7992085B2 (en) 2005-09-26 2011-08-02 Microsoft Corporation Lightweight reference user interface
US7788590B2 (en) * 2005-09-26 2010-08-31 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 华为技术有限公司 The method of the terminal device and the management system
US20070143174A1 (en) * 2005-12-21 2007-06-21 Microsoft Corporation Repeated inheritance of heterogeneous business metrics
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
US20070156680A1 (en) * 2005-12-21 2007-07-05 Microsoft Corporation Disconnected authoring of business definitions
US7398524B2 (en) 2005-12-22 2008-07-08 Alan Joshua Shapiro Apparatus and method for subtractive installation
WO2007072310A1 (en) 2005-12-22 2007-06-28 Shapiro Alan J System and method for software delivery
US8255640B2 (en) * 2006-01-03 2012-08-28 Apple Inc. Media device with intelligent cache utilization
US7831199B2 (en) 2006-01-03 2010-11-09 Apple Inc. Media data exchange, transfer or delivery for portable electronic devices
US8151259B2 (en) 2006-01-03 2012-04-03 Apple Inc. Remote content updates for portable media devices
US7673238B2 (en) * 2006-01-05 2010-03-02 Apple Inc. Portable media device with video acceleration capabilities
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
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
US9137309B2 (en) 2006-05-22 2015-09-15 Apple Inc. Calibration techniques for activity sensing devices
US8358273B2 (en) * 2006-05-23 2013-01-22 Apple Inc. Portable media device with power-managed display
US7724716B2 (en) 2006-06-20 2010-05-25 Apple Inc. Wireless communication system
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
US7913297B2 (en) * 2006-08-30 2011-03-22 Apple Inc. Pairing of wireless devices using a wired medium
US7813715B2 (en) * 2006-08-30 2010-10-12 Apple Inc. Automated pairing of wireless accessories with host devices
US20080061150A1 (en) * 2006-09-08 2008-03-13 Simon Phillips Identification token and method of making identification token
US7997498B2 (en) * 2006-09-08 2011-08-16 Mastercard International, Inc. Identification of installable card
US8090130B2 (en) * 2006-09-11 2012-01-03 Apple Inc. Highly portable media devices
US7729791B2 (en) * 2006-09-11 2010-06-01 Apple Inc. Portable media playback device including user interface event passthrough to non-media-playback processing
US8341524B2 (en) * 2006-09-11 2012-12-25 Apple Inc. Portable electronic device with local search capabilities
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
WO2008084274A3 (en) * 2006-12-29 2009-05-07 Ankur Bhatt 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
US20080168391A1 (en) * 2007-01-07 2008-07-10 Robbin Jeffrey L Widget Synchronization in Accordance with Synchronization Preferences
US8850140B2 (en) 2007-01-07 2014-09-30 Apple Inc. Data backup for mobile device
US8631088B2 (en) 2007-01-07 2014-01-14 Apple Inc. Prioritized data synchronization with host device
US20080168185A1 (en) * 2007-01-07 2008-07-10 Robbin Jeffrey L Data Synchronization with Host Device in Accordance with Synchronization Preferences
US20080172629A1 (en) * 2007-01-17 2008-07-17 Microsoft Corporation Geometric Performance Metric Data Rendering
US20080172287A1 (en) * 2007-01-17 2008-07-17 Ian Tien Automated Domain Determination in Business Logic Applications
US20080172348A1 (en) * 2007-01-17 2008-07-17 Microsoft Corporation Statistical Determination of Multi-Dimensional Targets
US20080172414A1 (en) * 2007-01-17 2008-07-17 Microsoft Corporation Business Objects as a Service
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
US8495663B2 (en) 2007-02-02 2013-07-23 Microsoft Corporation Real time collaboration using embedded data visualizations
US20080189632A1 (en) * 2007-02-02 2008-08-07 Microsoft Corporation Severity Assessment For Performance Metrics Using Quantitative Model
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
US20090024645A1 (en) * 2007-07-16 2009-01-22 Sudhir Krishna S Method and system for generating offline applications
US9032390B2 (en) * 2008-07-29 2015-05-12 Qualcomm Incorporated Framework versioning
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
US20090100511A1 (en) * 2007-10-10 2009-04-16 Simon Phillips 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
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
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
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
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
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
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
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
US9959870B2 (en) 2008-12-11 2018-05-01 Apple Inc. Speech recognition involving a mobile device
US8794532B2 (en) * 2008-12-29 2014-08-05 Mastercard International Incorporated Methods and apparatus for use in association with identification token
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
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
US8311987B2 (en) * 2009-08-17 2012-11-13 Sap Ag Data staging system and method
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977584B2 (en) 2010-01-25 2015-03-10 Newvaluexchange Global Ai Llp Apparatuses, methods and systems for a digital conversation management platform
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US20110289424A1 (en) * 2010-05-21 2011-11-24 Microsoft Corporation Secure application of custom resources in multi-tier systems
GB201109662D0 (en) * 2010-06-09 2011-07-27 Omnifone Ltd A method for providing digital media content to multiple computing devices using a portable framework
WO2012025443A1 (en) * 2010-08-27 2012-03-01 International Business Machines Corporation A method computer program and system for automatic upgrade of virtual appliances
CN103229126B (en) 2010-09-17 2016-04-13 谷歌公司 Information between the mobile computing device
US8850399B2 (en) * 2010-11-15 2014-09-30 Microsoft Corporation Software development using code retraction and background warm up
US8924556B2 (en) * 2011-03-11 2014-12-30 Qualcomm Incorporated System and method for accessing 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
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
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, an information processing apparatus and an information processing program
JP5975125B2 (en) * 2011-03-30 2016-08-23 富士通株式会社 App provides system and the application provides a method
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
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
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
US9368114B2 (en) 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
CN105027197A (en) 2013-03-15 2015-11-04 苹果公司 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
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
WO2014197334A3 (en) 2013-06-07 2015-01-29 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
JP2016521948A (en) 2013-06-13 2016-07-25 アップル インコーポレイテッド System and method for emergency call initiated by voice command
US9600805B2 (en) * 2013-06-25 2017-03-21 Sap Se Presenting information on a mobile communication device
US20150188991A1 (en) * 2013-12-31 2015-07-02 Google Inc. Simulated tethering of computing devices
US9620105B2 (en) 2014-05-15 2017-04-11 Apple Inc. Analyzing audio input for efficient speech and music recognition
US9502031B2 (en) 2014-05-27 2016-11-22 Apple Inc. Method for supporting dynamic grammars in WFST-based ASR
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
EP3149728A1 (en) 2014-05-30 2017-04-05 Apple Inc. Multi-command single utterance input method
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
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
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
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US9872174B2 (en) 2014-09-19 2018-01-16 Google Inc. Transferring application data between devices
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
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
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
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

Citations (60)

* Cited by examiner, † Cited by third party
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
US5684984A (en) * 1994-09-29 1997-11-04 Apple Computer, Inc. Synchronization and replication of object databases
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
US5819283A (en) * 1993-05-11 1998-10-06 Apple Computer, Inc. Method and system for the extensibility of objects
US5862346A (en) * 1996-06-28 1999-01-19 Metadigm Distributed group activity data network system and corresponding method
US5870610A (en) * 1996-06-28 1999-02-09 Siemens Business Communication Systems, Inc. Autoconfigurable method and system having automated downloading
US5870759A (en) * 1996-10-09 1999-02-09 Oracle Corporation System for synchronizing data between computers using a before-image 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
US6052588A (en) * 1996-10-17 2000-04-18 Electronics And Telecommunications Research Institute Method for archiving and retrieving telemetry in a satellite control center
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
US6131192A (en) * 1998-06-18 2000-10-10 Microsoft Corporation Software installation
US6138153A (en) * 1994-02-14 2000-10-24 Computer Associates Think, Inc. System for software distribution in a digital computer network
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
US6202085B1 (en) * 1996-12-06 2001-03-13 Microsoft Corportion System and method for incremental change synchronization between multiple copies of data
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
US6282711B1 (en) * 1999-08-10 2001-08-28 Hewlett-Packard Company Method for more efficiently installing software components from a remote server source
US6295645B1 (en) * 1997-12-22 2001-09-25 Texas Instruments Incorporated Method and apparatus for providing downloadable functionality to an embedded coprocessor
US20010034771A1 (en) * 2000-01-14 2001-10-25 Sun Microsystems, Inc. Network portal system and methods
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
US20010049624A1 (en) * 2000-06-06 2001-12-06 Masashi Uyama Advertisement distributing method and system
US6338068B1 (en) * 1998-12-14 2002-01-08 International Business Machines Corporation Method to demonstrate software that performs database queries
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
US6349408B1 (en) * 1998-03-23 2002-02-19 Sun Microsystems, Inc. Techniques for implementing a framework for extensible applications
US6366876B1 (en) * 1997-09-29 2002-04-02 Sun Microsystems, Inc. Method and apparatus for assessing compatibility between platforms and applications
US20020049603A1 (en) * 2000-01-14 2002-04-25 Gaurav Mehra Method and apparatus for a business applications server
US6381742B2 (en) * 1998-06-19 2002-04-30 Microsoft Corporation Software package management
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
US6430599B1 (en) * 1999-06-15 2002-08-06 Sun Microsystems, Inc. Just-in-time services for small footprint devices
US20020138582A1 (en) * 2000-09-05 2002-09-26 Mala Chandra Methods and apparatus providing electronic messages that are linked and aggregated
US20020147850A1 (en) * 2001-04-05 2002-10-10 Richards Gregory W. Electronic survey tool and dynamic workflow tool
US6466950B1 (en) * 1998-10-20 2002-10-15 Mitsubishi Denki Kabushiki Kaisha Update log management device and an update log management method decreasing the data amount of transmitting and the update log amount of holding based on the result of comparing the amount of the update log with the amount of the updated data plus the log applied information
US20020161826A1 (en) * 2001-01-25 2002-10-31 Carlos Arteaga System and method for remote communication transactions
US6481632B2 (en) * 1998-10-27 2002-11-19 Visa International Service Association Delegated management of smart card applications
US20020174372A1 (en) * 2001-05-18 2002-11-21 Buvana Venkataraman Method and apparatus for providing synchronized data
US20020178218A1 (en) * 2001-05-24 2002-11-28 Stefan Butlin Method of browser-server communication
US6496979B1 (en) * 1997-10-24 2002-12-17 Microsoft Corporation System and method for managing application installation for a mobile device
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
US20030023657A1 (en) * 2001-06-06 2003-01-30 Claudius Fischer Device for running offline applications and synchronizing with a central computer system
US20030037181A1 (en) * 2000-07-07 2003-02-20 Freed Erik J. Method and apparatus for providing process-container platforms
US6553375B1 (en) * 1998-11-25 2003-04-22 International Business Machines Corporation Method and apparatus for server based handheld application and database management
US6560655B1 (en) * 1999-06-22 2003-05-06 Microsoft Corporation Synchronization manager for standardized synchronization of separate programs
US20030088483A1 (en) * 2000-12-28 2003-05-08 Bissell, Inc. System, method and computer program product for an enhanced E-commerce graphical user interface
US6574561B2 (en) * 2001-03-30 2003-06-03 The University Of North Florida Emergency management system
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
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
US20040015566A1 (en) * 2002-07-19 2004-01-22 Matthew Anderson Electronic item management and archival system and method of operating the same
US6714933B2 (en) * 2000-05-09 2004-03-30 Cnet Networks, Inc. Content aggregation method and apparatus for on-line purchasing system
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
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
US6801940B1 (en) * 2002-01-10 2004-10-05 Networks Associates Technology, Inc. Application performance monitoring expert
US6813777B1 (en) * 1998-05-26 2004-11-02 Rockwell Collins Transaction dispatcher for a passenger entertainment system, method and article of manufacture
US6845503B1 (en) * 1999-08-13 2005-01-18 Sun Microsystems, Inc. System and method for enabling atomic class loading in an application server environment
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
US6915525B2 (en) * 2000-04-14 2005-07-05 Sony Corporation Method and apparatus for controlling set-top box hardware and software functions
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

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994025913A3 (en) * 1993-04-30 1994-12-22 Novadigm Inc Method and apparatus for enterprise desktop management
US5485503A (en) * 1993-08-02 1996-01-16 Motorola, Inc. Method of remote launching applications in a message delivery system
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
US6769009B1 (en) * 1994-05-31 2004-07-27 Richard R. Reisman Method and system for selecting a personalized set of information channels
WO1996006393A1 (en) * 1994-08-24 1996-02-29 Arcada Software, Inc. Application program interface (api) for a medium changer
US5815682A (en) * 1994-12-13 1998-09-29 Microsoft Corporation Device independent modem interface
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
US6134552A (en) * 1997-10-07 2000-10-17 Sap Aktiengesellschaft Knowledge provider with logical hyperlinks
WO1999045465A9 (en) * 1998-03-03 1999-11-11 Siebel Systems Inc Method, system, apparatus and program product for distribution and instantiation of software upgrades
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
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
US6910053B1 (en) 1999-06-18 2005-06-21 Sap Aktiengesellschaft Method for data maintenance in a network of partially replicated database systems
WO2001011466A3 (en) 1999-08-11 2001-06-21 Ethos Tech Inc Download manager
EP1093061A1 (en) 1999-10-14 2001-04-18 SAP Aktiengesellschaft Integrated database federation system
US6772393B1 (en) * 2000-01-04 2004-08-03 International Business Machines Corporation System and method for room decoration and inheritance
US7072934B2 (en) 2000-01-14 2006-07-04 Saba Software, Inc. Method and apparatus for a business applications server management system platform
US7814208B2 (en) * 2000-04-11 2010-10-12 Science Applications International Corporation System and method for projecting content beyond firewalls
JP2001306308A (en) 2000-04-11 2001-11-02 Sap Ag Method for defining class of data center application
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
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
US7024428B1 (en) * 2001-02-23 2006-04-04 Openwave Systems Inc. Reliable data synchronization over unreliable networks

Patent Citations (64)

* Cited by examiner, † Cited by third party
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
US5819283A (en) * 1993-05-11 1998-10-06 Apple Computer, Inc. Method and system for the extensibility of objects
US6138153A (en) * 1994-02-14 2000-10-24 Computer Associates Think, Inc. System for software distribution in a digital computer network
US5684984A (en) * 1994-09-29 1997-11-04 Apple Computer, Inc. Synchronization and replication of object databases
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
US5862346A (en) * 1996-06-28 1999-01-19 Metadigm Distributed group activity data network system and corresponding method
US5870610A (en) * 1996-06-28 1999-02-09 Siemens Business Communication Systems, Inc. Autoconfigurable method and system having automated downloading
US5870759A (en) * 1996-10-09 1999-02-09 Oracle Corporation System for synchronizing data between computers using a before-image of data
US6052588A (en) * 1996-10-17 2000-04-18 Electronics And Telecommunications Research Institute Method for archiving and retrieving telemetry in a satellite control center
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
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
US6202207B1 (en) * 1998-01-28 2001-03-13 International Business Machines Corporation Method and a mechanism for synchronized updating of interoperating software
US6349408B1 (en) * 1998-03-23 2002-02-19 Sun Microsystems, Inc. Techniques for implementing a framework for extensible applications
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
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
US6141010A (en) * 1998-07-17 2000-10-31 B. E. Technology, Llc Computer interface method and apparatus with targeted advertising
US6466950B1 (en) * 1998-10-20 2002-10-15 Mitsubishi Denki Kabushiki Kaisha Update log management device and an update log management method decreasing the data amount of transmitting and the update log amount of holding based on the result of comparing the amount of the update log with the amount of the updated data plus the log applied information
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
US6481632B2 (en) * 1998-10-27 2002-11-19 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
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
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
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
US6845503B1 (en) * 1999-08-13 2005-01-18 Sun Microsystems, Inc. System and method for enabling atomic class loading in an application server environment
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
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
US20010034771A1 (en) * 2000-01-14 2001-10-25 Sun Microsystems, Inc. Network portal system and methods
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
US6915525B2 (en) * 2000-04-14 2005-07-05 Sony Corporation Method and apparatus for controlling set-top box hardware and software functions
US6714933B2 (en) * 2000-05-09 2004-03-30 Cnet Networks, Inc. Content aggregation method and apparatus for on-line purchasing system
US20010049624A1 (en) * 2000-06-06 2001-12-06 Masashi Uyama Advertisement distributing method and system
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
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
US20030037181A1 (en) * 2000-07-07 2003-02-20 Freed Erik J. Method and apparatus for providing process-container platforms
US20020138582A1 (en) * 2000-09-05 2002-09-26 Mala Chandra Methods and apparatus providing electronic messages that are linked and aggregated
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
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
US20020178218A1 (en) * 2001-05-24 2002-11-28 Stefan Butlin Method of browser-server communication
US20030046017A1 (en) * 2001-06-06 2003-03-06 Claudius Fischer Deployment console for use with a computer system deploying software to remotely located devices
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
US20030055927A1 (en) * 2001-06-06 2003-03-20 Claudius Fischer Framework for a device and a computer system needing synchronization
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
US20040015566A1 (en) * 2002-07-19 2004-01-22 Matthew Anderson Electronic item management and archival system and method of operating the same

Cited By (49)

* Cited by examiner, † Cited by third party
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
US20030055927A1 (en) * 2001-06-06 2003-03-20 Claudius Fischer Framework for a device and a computer system needing synchronization
US20030056207A1 (en) * 2001-06-06 2003-03-20 Claudius Fischer Process for deploying software from a central computer system to remotely located devices
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
US9628549B1 (en) * 2002-02-15 2017-04-18 F5 Networks, Inc. Method and system for controlling and accessing content servers
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
US20040054757A1 (en) * 2002-09-14 2004-03-18 Akinobu Ueda System for remote control of computer resources from embedded handheld devices
US20040142683A1 (en) * 2002-11-08 2004-07-22 Matt Clark Programming interface layer of a service provider for data service delivery
US20040223061A1 (en) * 2003-05-05 2004-11-11 Bear Eric Gould Computer camera system and method for reducing parallax
US20070195007A1 (en) * 2003-05-05 2007-08-23 Microsoft Corporation Method and system for auxiliary display of information for a computing device
US7827232B2 (en) 2003-05-05 2010-11-02 Microsoft Corporation Record button on a computer system
US20060284787A1 (en) * 2003-05-05 2006-12-21 Microsoft Corporation Method and system for auxiliary display of information for a computing device
US7913182B2 (en) 2003-05-05 2011-03-22 Microsoft Corporation Method and system for auxiliary display of information for a computing device
US8694915B2 (en) 2003-05-20 2014-04-08 Microsoft Corporation Enhanced telephony computer user interface allowing user interaction and control of a telephone using a personal computer
US9392043B2 (en) 2003-05-20 2016-07-12 Microsoft Technology Licensing, Llc Enhanced telephony computer user interface allowing user interaction and control of a telephone using a personal computer
US8635554B2 (en) 2003-05-20 2014-01-21 Microsoft Corporation Enhanced telephony computer user interface allowing user interaction and control of a telephone using a personal computer
US20090214014A1 (en) * 2003-05-20 2009-08-27 Microsoft Corporation Enhanced telephony computer user interface allowing user interaction and control of a telephone using a personal computer
US20090207991A1 (en) * 2003-05-20 2009-08-20 Microsoft Corporation 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
US20050068423A1 (en) * 2003-09-30 2005-03-31 Microsoft Corporation Method and system for capturing video on a personal computer
US20100008488A1 (en) * 2003-09-30 2010-01-14 Microsoft Corporation Method and system for unified audio control on a personal computer
US20070150719A1 (en) * 2003-09-30 2007-06-28 Microsoft Corporation Method and system for unified audio control on a personal computer
US8443179B2 (en) 2003-09-30 2013-05-14 Microsoft Corporation Method and system for unified audio control on a personal computer
US8245027B2 (en) 2003-09-30 2012-08-14 Microsoft Corporation Method and system for unified audio control on a personal computer
US7548255B2 (en) 2003-09-30 2009-06-16 Microsoft Corporation Method and system for capturing video on a personal computer
US8166287B2 (en) 2003-09-30 2012-04-24 Microsoft Corporation Method and system for unified audio control on a personal computer
US8127125B2 (en) 2003-09-30 2012-02-28 Microsoft Corporation Method and system for unified audio control on a personal computer
US8644481B2 (en) 2003-09-30 2014-02-04 Microsoft Corporation Method and system for unified audio control on a personal computer
US20050183098A1 (en) * 2004-02-18 2005-08-18 Kosta Ilic Application programming interface for synchronizing multiple instrumentation devices
US7315791B2 (en) * 2004-02-18 2008-01-01 National Instruments Corporation Application programming interface for synchronizing multiple instrumentation devices
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
US7809363B2 (en) * 2004-10-29 2010-10-05 Kyocera Corporation Mobile phone terminal, program management method, and computer program for the same
US20060095916A1 (en) * 2004-10-29 2006-05-04 Kyocera Corporation Mobile phone terminal, program management method, and computer program for the same
US7711868B2 (en) 2004-11-23 2010-05-04 Microsoft Corporation Waking a main computer system to pre-fetch data for an auxiliary computing device
US7634780B2 (en) 2004-11-23 2009-12-15 Microsoft Corporation Method and system for exchanging data between computer systems and auxiliary displays
US20060164324A1 (en) * 2004-11-23 2006-07-27 Microsoft Corporation Sending notifications to auxiliary displays
US20060130075A1 (en) * 2004-11-23 2006-06-15 Microsoft Corporation Method and system for exchanging data between computer systems and auxiliary displays
US20060176271A1 (en) * 2005-02-07 2006-08-10 Microsoft Corporation Interface for consistent program interaction with auxiliary computing devices
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
US20060183085A1 (en) * 2005-02-15 2006-08-17 Microsoft Corporation Multi-interface aware scenario execution environment
US20060242590A1 (en) * 2005-04-21 2006-10-26 Microsoft Corporation Simple content format for auxiliary display devices
US20080148367A1 (en) * 2006-10-12 2008-06-19 Microsoft Corporation Preserving a process instance for use by different user interfaces
US7743328B2 (en) * 2006-10-12 2010-06-22 Microsoft Corporation Preserving a process instance for use by different user interfaces
US20110202378A1 (en) * 2010-02-17 2011-08-18 Rabstejnek Wayne S Enterprise rendering platform
US8307235B2 (en) 2010-05-05 2012-11-06 National Instruments Corporation Cross controller clock synchronization
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)

Also Published As

Publication number Publication date Type
EP1407373A4 (en) 2007-08-01 application
EP1497723A2 (en) 2005-01-19 application
US20030037254A1 (en) 2003-02-20 application
EP1407353A4 (en) 2007-07-11 application
EP1407375A4 (en) 2007-08-01 application
WO2002099592A3 (en) 2004-11-04 application
US20030023657A1 (en) 2003-01-30 application
US20030055927A1 (en) 2003-03-20 application
WO2002099638A1 (en) 2002-12-12 application
WO2002099596A2 (en) 2002-12-12 application
WO2002099594A2 (en) 2002-12-12 application
US20030046017A1 (en) 2003-03-06 application
EP1407373A2 (en) 2004-04-14 application
EP1407364A2 (en) 2004-04-14 application
EP1407364A4 (en) 2007-08-01 application
WO2002099595A2 (en) 2002-12-12 application
WO2002099592A2 (en) 2002-12-12 application
EP1497743A2 (en) 2005-01-19 application
EP1497723A4 (en) 2007-07-04 application
WO2002099593A2 (en) 2002-12-12 application
WO2002099596A3 (en) 2003-07-31 application
US7162543B2 (en) 2007-01-09 grant
WO2002099593A8 (en) 2003-03-20 application
WO2002099593A3 (en) 2003-08-28 application
EP1497743A4 (en) 2007-07-04 application
WO2002099594A3 (en) 2004-11-04 application
EP1407375A2 (en) 2004-04-14 application
US7143419B2 (en) 2006-11-28 grant
EP1407353A1 (en) 2004-04-14 application
US20030056207A1 (en) 2003-03-20 application
WO2002099595A3 (en) 2003-07-31 application

Similar Documents

Publication Publication Date Title
Joseph et al. Mobile computing with the Rover toolkit
US6697849B1 (en) System and method for caching JavaServer Pages™ responses
US6141666A (en) Method and system for customizing marketing services on networks communicating with hypertext tagging conventions
Sandoe Enterprise integration
US6789251B1 (en) System and method for managing a suite of data management tools
US6308163B1 (en) System and method for enterprise workflow resource management
US6907451B1 (en) Method, apparatus, and system for immediate posting of changes in a client server environment
US6026438A (en) Dynamic workstation configuration processor
US6665867B1 (en) Self-propagating software objects and applications
US6845503B1 (en) System and method for enabling atomic class loading in an application server environment
US5857197A (en) System and method for accessing data stores as objects
US6223343B1 (en) Computer system and method to track and control element changes throughout application development
US6901595B2 (en) Method, apparatus, and system for implementing a framework to support a web-based application
US6334158B1 (en) User-interactive system and method for integrating applications
US6170081B1 (en) Method and system for interfacing to a variety of software development tools
US6539372B1 (en) Method for providing automated user assistance customized output in the planning, configuration, and management of information systems
US6363398B1 (en) Database access using active server pages
US5760770A (en) System and method for defining a view to display data
US6910053B1 (en) Method for data maintenance in a network of partially replicated database systems
US7882501B1 (en) System and method for enabling dynamic modifed class reloading in an application server environment
US7093247B2 (en) Installation of a data processing solution
US20030018694A1 (en) System, method, uses, products, program products, and business methods for distributed internet and distributed network services over multi-tiered networks
US7072934B2 (en) Method and apparatus for a business applications server management system platform
US6275977B1 (en) Application cooperation method and apparatus
US7089583B2 (en) Method and apparatus for a business applications server

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:013379/0276

Effective date: 20020923

AS Assignment

Owner name: SAP AG, GERMANY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SAPMARKETS, INC.;REEL/FRAME:016888/0297

Effective date: 20020625