US20040230670A1 - Method and system for representing, configuring and deploying distributed applications - Google Patents
Method and system for representing, configuring and deploying distributed applications Download PDFInfo
- Publication number
- US20040230670A1 US20040230670A1 US10/720,203 US72020303A US2004230670A1 US 20040230670 A1 US20040230670 A1 US 20040230670A1 US 72020303 A US72020303 A US 72020303A US 2004230670 A1 US2004230670 A1 US 2004230670A1
- Authority
- US
- United States
- Prior art keywords
- application
- distributed
- resource
- descriptor
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/0816—Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/303—Terminal profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/50—Service provisioning or reconfiguring
Definitions
- the present invention relates to the fields of information, computer software systems and computer networks.
- the present invention provides a method and system for representing, configuring and deploying distributed applications in any arbitrary network topology.
- a particular application solution may involve the roles of many computing entities having heterogeneous capabilities 181 b .
- the complexity of modern computer networks is complicated by the heterogeneous nature of devices connecting to the network.
- modern networks must allow simultaneous connection of desktop computers, laptop computers, PDAs (“Personal Digital Assistants”) etc.
- PDAs Personal Digital Assistants
- each of these device classes may utilize different operating systems, and may interface with peripheral devices in any arbitrary manner.
- Each computing entity participating in an application solution may require a combination of many resources including executable program code, data, etc.
- thousands of distributed applications may coexist.
- the resources and applications comprising the distributed applications may also be evolving in time as software developers generate updates and patches ( 181 a ).
- deployment of resources within a distributed computing environment is complicated due to concurrent software development.
- network users themselves also impose a diverse set of requirements 181 c .
- some users may require particular configuration of their devices such as particular power saving schemes, enablement of disablement of various menu items or options, particular options for installed applications, etc.
- the present invention provides a method and system for representing, configuring and deploying a distributed application solution in any arbitrarily complex network.
- an application solution descriptor (“ASD”) maintains a representation of all resources associated with computing entities participating in the application solution.
- the ASD may be utilized to perform automatic configuration of the participating computing entities as well as deployment of resources to particular computing entities.
- the present invention is applied to a mobile computing environment including a backend server, a middleware server and any number of mobile devices.
- Each mobile application solution includes collaborative behavior between a mobile device, the middleware server and the backend server.
- a mobile device, middleware server and backend server are associated with respective resources that need to be configured and/or installed in order for the application to run.
- a MSD (“Mobile Solution Descriptor”) maintains a representation of all mobile application solutions and the respective resources required for those applications with respect to the backend server, middleware server and mobile device.
- the MSD is stored in a central location on the middleware server and is utilized to provide automatic configuration of the mobile device, the middleware server and the backend server as well as deployment of resources to computing entities.
- FIG. 1 a depicts various deployment and configuration challenges in a network environment.
- FIG. 1 b depicts an abstract representation of a computing environment with respect to a number of exemplary application solutions according to one embodiment of the present invention.
- FIG. 2 depicts an embodiment of the present invention as applied to a mobile environment according to one embodiment of the present invention.
- FIG. 3 shows a class diagram for an application solution descriptor according to one embodiment of the present invention.
- FIG. 4 depicts a configuration and deployment process according to one embodiment of the present invention.
- FIG. 5 illustrates the operation of a configuration and deployment module according to one embodiment of the present invention.
- FIG. 6 is a flowchart illustrating the use of a mobile solution descriptor for configuration of one or more application solutions.
- FIG. 1 b depicts an abstract representation of a computing environment with respect to a number of exemplary application solutions according to one embodiment of the present invention.
- Each of computing entities 101 ( 1 )( 1 )- 101 (J)(N) provides a locus for computational activity or processing tasks having and has an associated set of hardware dependent capabilities.
- Computing devices 101 ( 1 )( 1 )- 101 (J)(N) may be servers, desktop computers, laptop computers, personal desktop assistants, etc.
- Each computing device includes one or more processors and may be associated with one or more storage devices (not shown) such as a hard drive, CD ROM drive, etc.
- Computing devices 101 ( 1 )( 1 )- 101 (J)(N) collectively represent a heterogeneous set of computing resources.
- computing devices 101 ( 1 )- 101 (N) may be situated in any arbitrarily complex network topology.
- computing devices 101 ( 1 )- 101 (N) may be co-located, disparately located or any combination of the two and may be situated on any number of disparate networks 130 ( 1 )- 130 (J) utilizing any number of network protocols (not shown).
- computing devices 101 ( 1 )- 101 (N) may be co-located, disparately located or any combination of the two and may be situated on any number of disparate networks 130 ( 1 )- 130 (J) utilizing any number of network protocols (not shown).
- FIG. 1 b computing devices 101 ( 1 )- 101 (N) may be situated in any arbitrarily complex network topology.
- computing devices 101 ( 1 )- 101 (N) may be co-located, disparately located or any combination of the two and may be situated on any number
- computing devices 101 ( 1 )( 1 )- 101 ( 1 )(K) are situated on network 130 ( 1 )
- computing devices 101 ( 2 )( 1 )- 102 ( 2 )(L) are situated on network 130 ( 2 )
- computing devices 101 ( 3 )( 1 )- 101 ( 3 )(M) are situated on network 130 ( 3 )
- computing devices 101 (J)( 1 )- 101 (J)(N) are situated on network 130 (J).
- FIG. 1 b also shows a number of exemplary application solutions 150 ( 1 )- 150 ( 4 ).
- Each application solution 150 ( 1 )- 150 ( 4 ) includes a subset of computing devices 101 ( 1 )( 1 )- 101 (J)(N) performing a defined collaborative behavior.
- application solution 150 ( 1 ) includes the collective behavior of computing devices 101 ( 3 )(M), 101 ( 1 )(K) and 101 ( 2 )(L).
- Application solution 150 ( 2 ) includes the collective behavior of computing devices 101 ( 3 )( 1 ), 101 (K) and 101 ( 2 )(L).
- Application solution 150 ( 3 ) includes the collective behavior of computing devices 101 (J)(N) and 101 ( 2 )( 2 ).
- Application solution 150 ( 4 ) includes the collective behavior of computing devices 101 ( 2 )( 2 ), 101 (J)(N), 101 (J)( 2 ) and 101 (J)( 1 ).
- computing device 101 may participate in multiple application solutions 150 .
- computing device 101 ( 1 )(K) participates in application solutions 150 ( 1 ) and 150 ( 2 ).
- At least one application solution resource is installed on that device.
- application solution resource 140 ( 2 )( 1 ) is installed on computing device 101 ( 3 )( 1 ).
- computing device 101 ( 2 )(L) participates in both application solutions 150 ( 1 ) and 150 ( 2 )
- application solution resource 140 ( 1 )( 4 ) which is associated with application solution 150 ( 1 )
- application solution resource 140 ( 2 )( 3 ) which is associated with application solution 150 ( 2 ) are both installed on computing device 101 ( 2 )(L).
- a particular application solution 150 defines a distributed application, wherein intermediate computation data, instructions, etc. may be transmitted between and among participating computing devices 101 . It is understood, that communication between computing devices 101 may be achieved using any type of network protocols and/or network protocol negotiation if particular computing devices reside on different types of networks.
- FIG. 2 depicts an embodiment of the present invention as applied to a mobile environment according to one embodiment of the present invention. Processing tasks comprising a mobile application solution are performed on computing entities backend server 301 , middleware server 302 and mobile devices 315 ( 1 )- 315 (N). Mobile devices 215 ( 1 )- 215 (N) may include laptop devices, PDAs or any type of device that may be desirable for use within a mobile environment.
- FIG. 2 also shows an arbitrary number of mobile application solutions 350 ( 1 )- 350 (N).
- Each application solution 350 ( 1 )- 350 (N) represents the collective behavior of backend server 301 , middleware server 302 and one respective mobile device 315 ( 1 )- 315 (N).
- the collective behavior of mobile device 315 ( 2 ) in this case a PDA
- middleware server 302 and backend server 301 comprises mobile application solution 350 ( 2 ).
- the collective behavior of backend server 301 , middleware server 302 and mobile device 315 ( 3 ) comprises mobile application solution 350 ( 3 ).
- mobile devices 315 ( 1 )- 315 (N) have limited processing and memory capabilities and thus require the services of backend server 301 and/or middleware server 302 to carry out a mobile application solution.
- Each mobile device 315 ( 1 )- 315 (N) may include a local database (not shown).
- each mobile application solution 350 ( 1 )- 350 (N) includes the computing entities of a particular mobile device (e.g., 315 ( 2 )) as well as backend server 301 and middleware server 302 .
- Backend server operates as an application server and thus provides services of processes 301 ( 1 )- 301 (N) for data processing.
- Data obtained at mobile devices 315 ( 1 )- 315 (N) may be transferred to backend server 301 via middleware server 302 for processing and subsequently may be returned to mobile devices 315 ( 1 )- 315 (N) post-processing.
- backend server 301 executes a plurality of processes 303 ( 1 )- 303 (N). Each of these particular processes may participate in a particular mobile application solution 350 ( 1 )- 350 (N) or not depending upon the particular application.
- Middleware server 302 provides functions of routing via routing module 445 processing requests received from particular mobile devices 315 ( 1 )- 315 (N) to backend server for processing via particular processes 303 ( 1 )- 303 (N).
- middleware server performs routing of processed data from backend server 301 to particular mobile devices 315 ( 1 )- 315 (N) with respect to a particular mobile application solution (i.e., 350 ( 1 )- 350 (N)).
- middleware server 302 performs replication of data for a particular mobile application solution ( 350 ( 1 )- 350 (N)), which is received from backend server 301 .
- middleware server 302 receives and stores respective replicated data 325 ( 1 )- 325 (N) from backend server. This data is then employed as part of a particular mobile application solution 350 ( 1 )- 350 (N).
- middleware server 302 performs a number of administrative tasks including configuration and deployment via configuration module 430 , deployment module 440 and mobile solution descriptor 475 .
- Mobile solution descriptor 475 stores a complete representation of all mobile application solutions 350 ( 1 )- 350 (N) existing on the network.
- Mobile devices 315 ( 1 )- 315 (N) may operate in either an online or offline mode. However mobile devices 315 ( 1 )- 315 (N) provide a transparent experience to the user as if the devices were online at all times. This is achieved by providing resources 140 ( 1 )( 1 )- 140 ( 1 )(K), 140 ( 2 )( 1 )- 140 ( 2 )(L), 140 ( 3 )( 1 )- 140 ( 3 )(M) and 140 (N)( 1 )- 140 (N)(J) to respective mobile devices 315 ( 1 )- 315 (N).
- These resources provide processing and user interface behavior on the mobile device to so that the user experience is as if the respective application solution 350 ( 1 )- 350 (N) were operating locally on the respective mobile device. If a particular mobile device ( 315 ( 1 )- 315 (N)) is operating in an offline mode, that mobile device caches data locally on a local database (not shown), which can later be synchronized with backend server 302 .
- Each mobile device 315 ( 1 )- 315 (N) is further equipped with a respective configuration module 333 ( 1 )- 333 (N), which functions in conjunction with configuration module 430 on middleware sever 302 during a configuration process (described below).
- a respective configuration module 333 ( 1 )- 333 (N) which functions in conjunction with configuration module 430 on middleware sever 302 during a configuration process (described below).
- the purpose and function of respective configuration modules 333 ( 1 )- 333 (N) on mobile devices 315 ( 1 )- 315 (N) will become evident as the invention is further described.
- Middleware server 302 includes routing module 445 , configuration module 430 , deployment module 440 and mobile solution descriptor 475 .
- Configuration module 430 functions in conjunction with respective configuration modules 333 ( 1 )- 333 (N) on mobile devices 315 ( 1 )- 315 (N) to perform configuration processes with respective devices.
- Mobile solution descriptor 475 maintains a representation of all mobile application solutions (i.e., 350 ( 1 )- 350 (N)) existing within the network. In particular, as described below, mobile solution descriptor 475 maintains a representation of all resources, configuration settings relating to each mobile application solution 350 ( 1 )- 350 (N).
- mobile solution descriptor 475 maintains a representation of configuration settings such as menu options, power settings, required resources, etc. for each of respective mobile devices 315 ( 1 )- 315 (N) participating in a particular mobile application solution 350 ( 1 )- 350 (N).
- mobile solution descriptor 475 may maintain a representation of a registry for each mobile device 315 ( 1 )- 315 (N)—in particular, the resources that are current installed on the mobile device with respect to the associated mobile application solution.
- Middleware server 302 also includes configuration module 430 and deployment module 440 .
- Configuration module 430 performs configuration processes as a function of mobile solution descriptor 475 in conjunction with configuration modules 333 ( 1 )- 333 (N) on respective mobile devices 315 ( 1 )- 315 (N).
- mobile solution descriptor 475 maintains a representation of all resources necessary for a particular mobile application solution and thus the resources that must be installed on a particular mobile device.
- deployment module 440 performs deployment processes to transfer resources and data to particular mobile devices 315 ( 1 )- 315 (N).
- FIG. 3 shows a class diagram for an application solution descriptor according to one embodiment of the present invention.
- the class architecture shown in FIG. 3 may be applied to a general computing environment as shown in FIG. 1 b or the particular mobile environment (to represent a mobile application solution) as shown in FIG. 2.
- application solution descriptor 475 includes application solution class 377 , computing entity class 379 and resource class 393 .
- Application solution class 377 is associated with a unique identifier 385 for identifying a particular application solution.
- Application solution class 377 is associated with at least one computing entity via computing entity 379 and at least one resource class 393 .
- Each instance of computing entity class 379 includes a unique identifier 390 as does each instance of resource class 395 .
- Each instance of a resource class 393 is associated with a particular computing entity ID 390 , which indicates a particular computing entity (e.g., 315 ( 1 )- 315 (N)) upon which the resource should be installed.
- FIG. 4 depicts a configuration and deployment process according to one embodiment of the present invention.
- FIG. 4 depicts a deployment process with respect to only two mobile devices 315 ( 1 ) and 315 ( 2 ). However, it is to be understood that the process may be applied to any arbitrary number of mobile devices.
- backend server 301 stores application data 480 and application resources 490 .
- Application data 480 and application resources are ultimately deployed to mobile devices 315 ( 1 ) and 315 ( 2 ) via middleware server 302 .
- the configuration and deployment process is accomplished via configuration module 430 and deployment module 440 on middleware server and respective configuration modules 333 ( 1 ) and 333 ( 2 ) on respective mobile devices 315 ( 1 ) and 315 ( 2 ).
- FIG. 5 illustrates the operation of a configuration and deployment module according to one embodiment of the present invention.
- FIG. 5 depicts configuration and deployment with respect to a single computing entity ( 315 ( 1 )).
- Configuration module 430 on middleware server 302 communicates with communication module 333 ( 1 ) on computing entity 333 ( 1 ).
- computing entity 315 ( 1 ) sends synchronization request to configuration module 430 on middleware server 302 .
- Synchronization request 550 includes various information including the ID of computing entity 315 ( 1 ).
- configuration module Upon receipt of synchronization request 550 , configuration module attempts to determine appropriate resources to be deployed to computing device 315 ( 1 ). In order to determine the appropriate resources, configuration module queries application solution database 435 using computing entity ID 390 . Application solution database 435 returns resource ID 510 as a function of received computing entity ID 390 .
- application solution database 435 matches computing entity ID 390 to a particular mobile application solution 350 using the class structure shown in FIG. 3. In particular, this is achieved using mobile solution descriptor 475 .
- Mobile solution descriptor maps a particular computing entity ID 390 to a particular resource type ID 395 .
- configuration parameters for the mobile application solution 350 are retrieved from configuration parameters table 477 .
- the device profile associated with computing entity ID 390 is determined.
- a particular resource ID 510 is then generated as a function of the retrieved device profile, application solution and associated configuration parameters for that device and returned to configuration module.
- Configuration module 510 then forwards the particular resource ID 510 to deployment module 440 .
- Deployment module utilizes the received resource ID 510 to retrieve the appropriate application resource for the particular computing entity 315 ( 1 ) from application resources database 490 .
- the resource e.g., 140 ( 1 )( 1 ).
- 140 ( 1 )(K) are then forwarded to computing entity via configuration module 333 ( 1 ).
- Configuration module 333 ( 1 ) on computing entity 315 ( 1 ) receives the resources and installs them on computing entity 315 ( 1 ).
- Computing entity 315 ( 1 ) also includes registry 450 ( 1 ).
- the registry information may be transmitted to configuration module 430 from configuration module 333 ( 1 ) to determine whether particular resources (e.g., 140 ( 1 )( 1 )- 140 ( 1 )(K)) need to be updated
- FIG. 6 is a flowchart illustrating the use of a mobile solution descriptor for configuration of one or more application solutions.
- the process is initiated in step 610 .
- the MSD is uploaded from a database (not shown).
- the MSD is stored on middleware server.
- the MSD is then utilized to determine which resources need to be installed and configured on each mobile device, the middleware server and the backend server for each application solution.
- communications are initiated with backend server.
- step 630 data necessary for the application is replicated from the backend server to the middleware server.
- resources necessary for the application are downloaded from the backend server to the middleware server.
- the middleware server is configured to perform various tasks related to the application solution such as the forwarding of data received from a mobile device to the appropriate application process running on the backend server.
- step 655 the configuration is complete and the process ends.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Multi Processors (AREA)
- Stored Programmes (AREA)
- Computer And Data Communications (AREA)
Abstract
An application solution descriptor (“ASD”) maintains a representation of all resources associated with computing entities participating in the application solution. The ASD may be utilized to perform automatic configuration of the participating computing entities as well as deployment of resources to particular computing entities
Description
- The present invention relates to the fields of information, computer software systems and computer networks. In particular, the present invention provides a method and system for representing, configuring and deploying distributed applications in any arbitrary network topology.
- The complexities of modern business practices have required an evolution in computing networks and associated software systems. For example, distributed software systems in which a software application solution is achieved via a collaborative effort between multiple computing entities within the network have become commonplace.
- As depicted in FIG. 1a, distributed software systems present particular administrative, configuration and deployment challenges. For example, a particular application solution may involve the roles of many computing entities having heterogeneous capabilities 181 b. In particular, the complexity of modern computer networks is complicated by the heterogeneous nature of devices connecting to the network. For example, modern networks must allow simultaneous connection of desktop computers, laptop computers, PDAs (“Personal Digital Assistants”) etc. Further, each of these device classes may utilize different operating systems, and may interface with peripheral devices in any arbitrary manner. Each computing entity participating in an application solution may require a combination of many resources including executable program code, data, etc. In complex networks, thousands of distributed applications may coexist.
- Second, the resources and applications comprising the distributed applications may also be evolving in time as software developers generate updates and patches (181 a). Thus, deployment of resources within a distributed computing environment is complicated due to concurrent software development.
- Third, network users themselves also impose a diverse set of requirements181 c. For example, some users may require particular configuration of their devices such as particular power saving schemes, enablement of disablement of various menu items or options, particular options for installed applications, etc.
- Managing such a diverse set of devices among an equally diverse user-base becomes a logistically complex. The complexity of the problem is further complicated by the simultaneous development efforts, through which updates, patches, are evolving in real time.
- The present invention provides a method and system for representing, configuring and deploying a distributed application solution in any arbitrarily complex network. According to one embodiment of the present invention, for each distributed application solution, an application solution descriptor (“ASD”) maintains a representation of all resources associated with computing entities participating in the application solution. The ASD may be utilized to perform automatic configuration of the participating computing entities as well as deployment of resources to particular computing entities.
- According to one embodiment the present invention is applied to a mobile computing environment including a backend server, a middleware server and any number of mobile devices. Each mobile application solution includes collaborative behavior between a mobile device, the middleware server and the backend server. Accordingly, for a particular mobile application solution, a mobile device, middleware server and backend server are associated with respective resources that need to be configured and/or installed in order for the application to run.
- According to one embodiment of the present invention, a MSD (“Mobile Solution Descriptor”) maintains a representation of all mobile application solutions and the respective resources required for those applications with respect to the backend server, middleware server and mobile device. According to one embodiment, the MSD is stored in a central location on the middleware server and is utilized to provide automatic configuration of the mobile device, the middleware server and the backend server as well as deployment of resources to computing entities.
- FIG. 1a depicts various deployment and configuration challenges in a network environment.
- FIG. 1b depicts an abstract representation of a computing environment with respect to a number of exemplary application solutions according to one embodiment of the present invention.
- FIG. 2 depicts an embodiment of the present invention as applied to a mobile environment according to one embodiment of the present invention.
- FIG. 3 shows a class diagram for an application solution descriptor according to one embodiment of the present invention.
- FIG. 4 depicts a configuration and deployment process according to one embodiment of the present invention.
- FIG. 5 illustrates the operation of a configuration and deployment module according to one embodiment of the present invention.
- FIG. 6 is a flowchart illustrating the use of a mobile solution descriptor for configuration of one or more application solutions.
- FIG. 1b depicts an abstract representation of a computing environment with respect to a number of exemplary application solutions according to one embodiment of the present invention. Each of computing entities 101(1)(1)-101(J)(N) provides a locus for computational activity or processing tasks having and has an associated set of hardware dependent capabilities. Computing devices 101(1)(1)-101(J)(N) may be servers, desktop computers, laptop computers, personal desktop assistants, etc. Each computing device includes one or more processors and may be associated with one or more storage devices (not shown) such as a hard drive, CD ROM drive, etc. Computing devices 101(1)(1)-101(J)(N) collectively represent a heterogeneous set of computing resources.
- As shown in FIG. 1b, computing devices 101(1)-101(N) may be situated in any arbitrarily complex network topology. Thus, computing devices 101(1)-101(N) may be co-located, disparately located or any combination of the two and may be situated on any number of disparate networks 130(1)-130(J) utilizing any number of network protocols (not shown). For example, as shown in FIG. 1, computing devices 101(1)(1)-101(1)(K) are situated on network 130(1), computing devices 101(2)(1)-102(2)(L) are situated on network 130(2), computing devices 101(3)(1)-101(3)(M) are situated on network 130(3) and computing devices 101(J)(1)-101(J)(N) are situated on network 130(J).
- FIG. 1b also shows a number of exemplary application solutions 150(1)-150(4). Each application solution 150(1)-150(4) includes a subset of computing devices 101(1)(1)-101(J)(N) performing a defined collaborative behavior. Thus, for example, application solution 150(1) includes the collective behavior of computing devices 101(3)(M), 101(1)(K) and 101(2)(L). Application solution 150(2) includes the collective behavior of computing devices 101(3)(1), 101(K) and 101(2)(L). Application solution 150(3) includes the collective behavior of computing devices 101(J)(N) and 101(2)(2). Application solution 150(4) includes the collective behavior of computing devices 101(2)(2), 101(J)(N), 101(J)(2) and 101(J)(1).
- Note that the
same computing device 101 may participate inmultiple application solutions 150. For example, computing device 101(1)(K) participates in application solutions 150(1) and 150(2). - In order to define the particular behavior of a
computing device 150 with respect to aparticular application solution 150, at least one application solution resource is installed on that device. For example, with respect to application solution 150(1), application solution resource 140(2)(1) is installed on computing device 101(3)(1). On the other hand, since computing device 101(2)(L) participates in both application solutions 150(1) and 150(2), application solution resource 140(1)(4), which is associated with application solution 150(1) and application solution resource 140(2)(3), which is associated with application solution 150(2) are both installed on computing device 101(2)(L). - Effectively, a
particular application solution 150 defines a distributed application, wherein intermediate computation data, instructions, etc. may be transmitted between and among participatingcomputing devices 101. It is understood, that communication betweencomputing devices 101 may be achieved using any type of network protocols and/or network protocol negotiation if particular computing devices reside on different types of networks. - FIG. 2 depicts an embodiment of the present invention as applied to a mobile environment according to one embodiment of the present invention. Processing tasks comprising a mobile application solution are performed on computing entities backend
server 301,middleware server 302 and mobile devices 315(1)-315(N). Mobile devices 215(1)-215(N) may include laptop devices, PDAs or any type of device that may be desirable for use within a mobile environment. - FIG. 2 also shows an arbitrary number of mobile application solutions350(1)-350(N). Each application solution 350(1)-350(N) represents the collective behavior of
backend server 301,middleware server 302 and one respective mobile device 315(1)-315(N). Thus, for example, the collective behavior of mobile device 315(2) (in this case a PDA),middleware server 302 andbackend server 301 comprises mobile application solution 350(2). Similarly, the collective behavior ofbackend server 301,middleware server 302 and mobile device 315(3) (in this case a laptop computer) comprises mobile application solution 350(3). - In general, mobile devices315(1)-315(N) have limited processing and memory capabilities and thus require the services of
backend server 301 and/ormiddleware server 302 to carry out a mobile application solution. Each mobile device 315(1)-315(N) may include a local database (not shown). Thus, as shown in FIG. 2, each mobile application solution 350(1)-350(N) includes the computing entities of a particular mobile device (e.g., 315(2)) as well asbackend server 301 andmiddleware server 302. Backend server operates as an application server and thus provides services of processes 301(1)-301(N) for data processing. Data obtained at mobile devices 315(1)-315(N) may be transferred tobackend server 301 viamiddleware server 302 for processing and subsequently may be returned to mobile devices 315(1)-315(N) post-processing. Thus, as shown in FIG. 2,backend server 301 executes a plurality of processes 303(1)-303(N). Each of these particular processes may participate in a particular mobile application solution 350(1)-350(N) or not depending upon the particular application. -
Middleware server 302 provides functions of routing viarouting module 445 processing requests received from particular mobile devices 315(1)-315(N) to backend server for processing via particular processes 303(1)-303(N). In addition, middleware server performs routing of processed data frombackend server 301 to particular mobile devices 315(1)-315(N) with respect to a particular mobile application solution (i.e., 350(1)-350(N)). In addition,middleware server 302 performs replication of data for a particular mobile application solution (350(1)-350(N)), which is received frombackend server 301. Thus, as shown in FIG. 2,middleware server 302 receives and stores respective replicated data 325(1)-325(N) from backend server. This data is then employed as part of a particular mobile application solution 350(1)-350(N). - In addition,
middleware server 302 performs a number of administrative tasks including configuration and deployment via configuration module 430,deployment module 440 andmobile solution descriptor 475.Mobile solution descriptor 475 stores a complete representation of all mobile application solutions 350(1)-350(N) existing on the network. - Mobile devices315(1)-315(N) may operate in either an online or offline mode. However mobile devices 315(1)-315(N) provide a transparent experience to the user as if the devices were online at all times. This is achieved by providing resources 140(1)(1)-140(1)(K), 140(2)(1)-140(2)(L), 140(3)(1)-140(3)(M) and 140(N)(1)-140(N)(J) to respective mobile devices 315(1)-315(N). These resources provide processing and user interface behavior on the mobile device to so that the user experience is as if the respective application solution 350(1)-350(N) were operating locally on the respective mobile device. If a particular mobile device (315(1)-315(N)) is operating in an offline mode, that mobile device caches data locally on a local database (not shown), which can later be synchronized with
backend server 302. - Each mobile device315(1)-315(N) is further equipped with a respective configuration module 333(1)-333(N), which functions in conjunction with configuration module 430 on middleware sever 302 during a configuration process (described below). The purpose and function of respective configuration modules 333(1)-333(N) on mobile devices 315(1)-315(N) will become evident as the invention is further described.
-
Middleware server 302 includesrouting module 445, configuration module 430,deployment module 440 andmobile solution descriptor 475. Configuration module 430 functions in conjunction with respective configuration modules 333(1)-333(N) on mobile devices 315(1)-315(N) to perform configuration processes with respective devices.Mobile solution descriptor 475 maintains a representation of all mobile application solutions (i.e., 350(1)-350(N)) existing within the network. In particular, as described below,mobile solution descriptor 475 maintains a representation of all resources, configuration settings relating to each mobile application solution 350(1)-350(N). In particular, with respect to the present invention,mobile solution descriptor 475 maintains a representation of configuration settings such as menu options, power settings, required resources, etc. for each of respective mobile devices 315(1)-315(N) participating in a particular mobile application solution 350(1)-350(N). Thus, for example,mobile solution descriptor 475 may maintain a representation of a registry for each mobile device 315(1)-315(N)—in particular, the resources that are current installed on the mobile device with respect to the associated mobile application solution. -
Middleware server 302 also includes configuration module 430 anddeployment module 440. Configuration module 430 performs configuration processes as a function ofmobile solution descriptor 475 in conjunction with configuration modules 333(1)-333(N) on respective mobile devices 315(1)-315(N). In particular, as described below,mobile solution descriptor 475 maintains a representation of all resources necessary for a particular mobile application solution and thus the resources that must be installed on a particular mobile device. Similarly,deployment module 440 performs deployment processes to transfer resources and data to particular mobile devices 315(1)-315(N). - FIG. 3 shows a class diagram for an application solution descriptor according to one embodiment of the present invention. The class architecture shown in FIG. 3 may be applied to a general computing environment as shown in FIG. 1b or the particular mobile environment (to represent a mobile application solution) as shown in FIG. 2. Referring to FIG. 3,
application solution descriptor 475 includesapplication solution class 377,computing entity class 379 andresource class 393.Application solution class 377 is associated with aunique identifier 385 for identifying a particular application solution.Application solution class 377 is associated with at least one computing entity viacomputing entity 379 and at least oneresource class 393. Each instance ofcomputing entity class 379 includes aunique identifier 390 as does each instance ofresource class 395. Each instance of aresource class 393 is associated with a particularcomputing entity ID 390, which indicates a particular computing entity (e.g., 315(1)-315(N)) upon which the resource should be installed. - FIG. 4 depicts a configuration and deployment process according to one embodiment of the present invention. FIG. 4 depicts a deployment process with respect to only two mobile devices315(1) and 315(2). However, it is to be understood that the process may be applied to any arbitrary number of mobile devices. Referring to FIG. 4,
backend server 301stores application data 480 andapplication resources 490.Application data 480 and application resources are ultimately deployed to mobile devices 315(1) and 315(2) viamiddleware server 302. The configuration and deployment process is accomplished via configuration module 430 anddeployment module 440 on middleware server and respective configuration modules 333(1) and 333(2) on respective mobile devices 315(1) and 315(2). - FIG. 5 illustrates the operation of a configuration and deployment module according to one embodiment of the present invention. FIG. 5 depicts configuration and deployment with respect to a single computing entity (315(1)). However, it is to be understood that the invention may be applied to any number of computing entities as shown in the preceding figures. Configuration module 430 on
middleware server 302 communicates with communication module 333(1) on computing entity 333(1). During a synchronization process, computing entity 315(1) sends synchronization request to configuration module 430 onmiddleware server 302.Synchronization request 550 includes various information including the ID of computing entity 315(1). Upon receipt ofsynchronization request 550, configuration module attempts to determine appropriate resources to be deployed to computing device 315(1). In order to determine the appropriate resources, configuration module queriesapplication solution database 435 usingcomputing entity ID 390.Application solution database 435 returnsresource ID 510 as a function of receivedcomputing entity ID 390. - In order to generate a particular resource ID as a function of
computing entity ID 390,application solution database 435 matches computingentity ID 390 to a particularmobile application solution 350 using the class structure shown in FIG. 3. In particular, this is achieved usingmobile solution descriptor 475. Mobile solution descriptor maps a particularcomputing entity ID 390 to a particularresource type ID 395. In addition, configuration parameters for themobile application solution 350 are retrieved from configuration parameters table 477. Finally, the device profile associated withcomputing entity ID 390 is determined. Aparticular resource ID 510 is then generated as a function of the retrieved device profile, application solution and associated configuration parameters for that device and returned to configuration module. -
Configuration module 510 then forwards theparticular resource ID 510 todeployment module 440. Deployment module utilizes the receivedresource ID 510 to retrieve the appropriate application resource for the particular computing entity 315(1) fromapplication resources database 490. The resource (e.g., 140(1)(1). 140(1)(K)) are then forwarded to computing entity via configuration module 333(1). Configuration module 333(1) on computing entity 315(1) receives the resources and installs them on computing entity 315(1). - Computing entity315(1) also includes registry 450(1). During the configuration process as outlined above, the registry information may be transmitted to configuration module 430 from configuration module 333(1) to determine whether particular resources (e.g., 140(1)(1)-140(1)(K)) need to be updated
- FIG. 6 is a flowchart illustrating the use of a mobile solution descriptor for configuration of one or more application solutions. The process is initiated in
step 610. Instep 620, the MSD is uploaded from a database (not shown). According to one embodiment, the MSD is stored on middleware server. The MSD is then utilized to determine which resources need to be installed and configured on each mobile device, the middleware server and the backend server for each application solution. Instep 625, communications are initiated with backend server. In step 630, data necessary for the application is replicated from the backend server to the middleware server. Instep 635, resources necessary for the application are downloaded from the backend server to the middleware server. In step 640, the middleware server is configured to perform various tasks related to the application solution such as the forwarding of data received from a mobile device to the appropriate application process running on the backend server. Instep 645, it is determined whether a mobile device has connected to the middleware server. If so, instep 650, necessary data and resources for execution of the application solution are downloaded to the connecting mobile device. Instep 655, the configuration is complete and the process ends.
Claims (15)
1. A method for representing a distributed software application comprising:
determining at least one distributed application, the application including the collective behavior of at least one computing entity, wherein each computing entity is associated with at least one resource;
storing at least one application descriptor, wherein the application descriptor describes the association between each of the at least one computing entity participating in the application and each of the respective resources;
providing access to the application descriptor in order to facilitate administration of the distributed software application.
2. The method according to claim 1 , wherein the application descriptor is stored at a network node, the network node performing administrative tasks with respect to the distributed application.
3. The method according to claim 1 , wherein the application descriptor is used for at least one of configuration, deployment of the distributed application.
4. The method according to claim 1 , wherein the distributed application is installed on a network including an application server, a middleware server and a mobile device.
5. A method for representing a software application operating within a mobile environment, the mobile application including the collective behavior of a mobile device a middleware server and a backend server comprising:
specifying a behavior for the mobile device;
determining at least one first resource to be associated with mobile device, at least one second resource to be associated with the middleware server and at least one third resource to be associated with the backend server as a function of the specified behavior for the mobile device;
storing an application descriptor, the application descriptor describing the association between the first resource, the second resource, the third resource and, respectively, the mobile device, the middleware server and the backend server.
6. The method according to claim 5 , wherein the application descriptor is stored at a network node, the network node performing administrative tasks with respect to the distributed application.
7. The method according to claim 5 , wherein the application descriptor is used for at least one of configuration, deployment of the distributed application.
8. The method according to claim 5 , wherein the at least one first resource, the at least one second resource and the at least one third resource are deployed to at least one of the mobile device, the middleware server and the backend server as a function of the application descriptor.
9. A data structure for representing a distributed software application, the data structure including:
a unique identifier for representing a distributed software application;
at least one identifier specifying at least one computing entity to participate in the distributed software application;
at least identifier specifying at least one resource;
an association between each of the at least one computing entity and the at least one resource.
10. A system for administering a distributed software application including the collective behavior of a plurality of computing entities within a network comprising:
a server including a processor, said processor performing at least one of deploying, configuring and updating the distributed application with respect to the computing entities within the network;
a database for storing at least one application descriptor, the application descriptor representing an association between at least one distributed application, computing entities participating in the application and resources to be associated with the computing entities;
at least one administrative module, the administrative module performing administration tasks for the application with respect to the computing entities participating in the application.
11. The system according to claim 10 , wherein the administrative tasks include at least one of configuration, deployment of the distributed application.
12. A program storage device, said program storage device including instructions for representing a distributed software application comprising:
determining at least one distributed application, the application including the collective behavior of at least one computing entity, wherein each computing entity is associated with at least one resource;
storing at least one application descriptor, wherein the application descriptor describes the association between each of the at least one computing entity participating in the application and each of the respective resources;
providing access to the application descriptor in order to facilitate administration of the distributed software application.
13. The program storage device according to claim 12 , wherein the application descriptor is stored at a network node, the network node performing administrative tasks with respect to the distributed application.
14. The program storage device according to claim 12 , wherein the application descriptor is used for at least one of configuration, deployment of the distributed application.
15. The program storage device according to claim 12 , wherein the distributed application is installed on a network including an application server, a middleware server and a mobile device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/720,203 US20040230670A1 (en) | 2002-11-25 | 2003-11-25 | Method and system for representing, configuring and deploying distributed applications |
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US42947002P | 2002-11-25 | 2002-11-25 | |
US42978902P | 2002-11-25 | 2002-11-25 | |
US42947402P | 2002-11-25 | 2002-11-25 | |
US42985902P | 2002-11-26 | 2002-11-26 | |
US42956302P | 2002-11-26 | 2002-11-26 | |
US42969002P | 2002-11-26 | 2002-11-26 | |
US10/720,203 US20040230670A1 (en) | 2002-11-25 | 2003-11-25 | Method and system for representing, configuring and deploying distributed applications |
Publications (1)
Publication Number | Publication Date |
---|---|
US20040230670A1 true US20040230670A1 (en) | 2004-11-18 |
Family
ID=33425885
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/720,203 Abandoned US20040230670A1 (en) | 2002-11-25 | 2003-11-25 | Method and system for representing, configuring and deploying distributed applications |
US10/720,073 Active 2027-05-12 US7831734B2 (en) | 2002-11-25 | 2003-11-25 | Method and system for remote configuration of network devices |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/720,073 Active 2027-05-12 US7831734B2 (en) | 2002-11-25 | 2003-11-25 | Method and system for remote configuration of network devices |
Country Status (1)
Country | Link |
---|---|
US (2) | US20040230670A1 (en) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007038766A2 (en) * | 2005-09-28 | 2007-04-05 | Ontela, Inc. | System for secure data transfer between electronic devices with a wide range of capabilities over multiple communications media |
US20090037515A1 (en) * | 2005-09-28 | 2009-02-05 | Ontela, Inc. | System and method for automatic transfer of data from one device to another |
US20090248846A1 (en) * | 2008-03-31 | 2009-10-01 | Cohn Daniel T | Configuring communications between computing nodes |
US20100016003A1 (en) * | 2005-09-28 | 2010-01-21 | Ontela, Inc. | System and method for allowing a user to opt for automatic or selectively sending of media |
US20100179980A1 (en) * | 2009-01-14 | 2010-07-15 | Movidilo S.L. | Cache system for mobile communications devices |
CN102047245A (en) * | 2008-03-31 | 2011-05-04 | 亚马逊技术有限公司 | Configuring communications between computing nodes |
US8015253B1 (en) | 2005-09-28 | 2011-09-06 | Photobucket Corporation | System and method for controlling inter-device media exchanges |
US8549347B1 (en) | 2010-12-20 | 2013-10-01 | Amazon Technologies, Inc. | Techniques for network replication |
US8560646B1 (en) | 2010-09-28 | 2013-10-15 | Amazon Technologies, Inc. | Managing communications using alternative packet addressing |
US20140237109A1 (en) * | 2013-02-17 | 2014-08-21 | Onavo Mobile Ltd. | Techniques for determining a mobile application download attribution |
US20150244797A1 (en) * | 2012-09-11 | 2015-08-27 | Thomas Edwall | Method and architecture for application mobility in distributed cloud environment |
US9424270B1 (en) | 2006-09-28 | 2016-08-23 | Photobucket Corporation | System and method for managing media files |
US9577926B2 (en) | 2008-03-31 | 2017-02-21 | Amazon Technologies, Inc. | Authorizing communications between computing nodes |
US10402227B1 (en) * | 2016-08-31 | 2019-09-03 | Amazon Technologies, Inc. | Task-level optimization with compute environments |
US10839329B2 (en) | 2016-10-25 | 2020-11-17 | Sap Se | Process execution using rules framework flexibly incorporating predictive modeling |
US11063744B2 (en) | 2017-10-20 | 2021-07-13 | Sap Se | Document flow tracking using blockchain |
US11580440B2 (en) | 2016-12-02 | 2023-02-14 | Sap Se | Dynamic form with machine learning |
US12058042B1 (en) * | 2012-12-27 | 2024-08-06 | Morris Routing Technologies, Llc | Routing methods, systems, and computer program products |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7626944B1 (en) * | 2004-03-31 | 2009-12-01 | Packeteer, Inc. | Methods, apparatuses and systems facilitating remote, automated deployment of network devices |
US7925990B2 (en) * | 2005-03-31 | 2011-04-12 | At&T Intellectual Property I, L. P. | Methods, systems, and products for calendaring applications |
US7640507B2 (en) | 2005-02-28 | 2009-12-29 | At&T Intellectual Property I, L.P. | Methods, systems, and products for calendaring applications |
US8775577B1 (en) | 2007-12-18 | 2014-07-08 | Amazon Technologies, Inc. | System and method for configuration management service |
US20090216864A1 (en) * | 2008-02-27 | 2009-08-27 | Nokia Corporation | Methods, apparatuses, and computer program products, for automatically finding configuration settings for services |
US8434146B2 (en) * | 2008-03-04 | 2013-04-30 | Apple Inc. | Access control based on development profiles |
US8443059B2 (en) * | 2009-10-08 | 2013-05-14 | F-Secure Oyj | Configuring a client application |
DE102010018021A1 (en) * | 2010-04-23 | 2011-10-27 | Giesecke & Devrient Gmbh | Method for configuring an application for a terminal |
JP5961926B2 (en) * | 2011-06-14 | 2016-08-03 | ソニー株式会社 | Information processing system |
CN102546267B (en) * | 2012-03-26 | 2015-06-10 | 杭州华三通信技术有限公司 | Automatic configuration method of network device and management server |
US10044522B1 (en) | 2012-08-21 | 2018-08-07 | Amazon Technologies Inc. | Tree-oriented configuration management service |
RU2523113C1 (en) | 2012-12-25 | 2014-07-20 | Закрытое акционерное общество "Лаборатория Касперского" | System and method for target installation of configured software |
RU2541935C2 (en) | 2012-12-25 | 2015-02-20 | Закрытое акционерное общество "Лаборатория Касперского" | System and method for deploying preconfigured software |
US8805972B1 (en) | 2013-06-26 | 2014-08-12 | Kaspersky Lab Zao | Multi-platform operational objective configurator for computing devices |
WO2016148677A1 (en) * | 2015-03-13 | 2016-09-22 | Hewlett Packard Enterprise Development Lp | Configuring managed devices |
US9565510B2 (en) | 2015-05-28 | 2017-02-07 | At&T Mobility Ii Llc | Coordinating wireless communication network access via multiple logic capable databases |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010008019A1 (en) * | 1998-04-17 | 2001-07-12 | John D. Vert | Method and system for transparently failing over application configuration information in a server cluster |
US20020040369A1 (en) * | 2000-01-25 | 2002-04-04 | Multer David L. | Binary data synchronization engine |
US20020095663A1 (en) * | 2000-08-31 | 2002-07-18 | Rafael Joory | Enabling an application access to setup information therefor |
US20020120725A1 (en) * | 2001-02-28 | 2002-08-29 | Dacosta Behram Mario | Internet-aware agent for updating applications |
US20030065947A1 (en) * | 2001-10-01 | 2003-04-03 | Yu Song | Secure sharing of personal devices among different users |
US6553375B1 (en) * | 1998-11-25 | 2003-04-22 | International Business Machines Corporation | Method and apparatus for server based handheld application and database management |
US20030084165A1 (en) * | 2001-10-12 | 2003-05-01 | Openwave Systems Inc. | User-centric session management for client-server interaction using multiple applications and devices |
US20030084104A1 (en) * | 2001-10-31 | 2003-05-01 | Krimo Salem | System and method for remote storage and retrieval of data |
US20030101223A1 (en) * | 2000-09-01 | 2003-05-29 | Pace Charles P. | System and method for synchronizing assets on multi-tiered networks |
US20030101246A1 (en) * | 2001-11-29 | 2003-05-29 | Nokia Corporation | System and method for identifying and accessing network services |
US20030120784A1 (en) * | 2001-06-25 | 2003-06-26 | Kent Johnson | Method and apparatus for providing remote access of personal data |
US20030182408A1 (en) * | 2002-02-15 | 2003-09-25 | Qinglong Hu | Load test system for a server and method of use |
US20040205263A1 (en) * | 2002-09-03 | 2004-10-14 | Nokia Corporation | Method, device and system for synchronizing of data providing for the handling of an interrupted synchronization process |
US6810405B1 (en) * | 1998-08-18 | 2004-10-26 | Starfish Software, Inc. | System and methods for synchronizing data between multiple datasets |
US20060236363A1 (en) * | 2002-09-23 | 2006-10-19 | Credant Technologies, Inc. | Client architecture for portable device with security policies |
US20070180075A1 (en) * | 2002-04-25 | 2007-08-02 | Doug Chasman | System and method for synchronization of version annotated objects |
US20070177571A1 (en) * | 2002-10-07 | 2007-08-02 | Michael Caulfield | Mobile data distribution |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6272545B1 (en) * | 1997-10-24 | 2001-08-07 | Microsoft Corporation | System and method for interaction between one or more desktop computers and one or more mobile devices |
US6370566B2 (en) * | 1998-04-10 | 2002-04-09 | Microsoft Corporation | Generating meeting requests and group scheduling from a mobile device |
US6477543B1 (en) * | 1998-10-23 | 2002-11-05 | International Business Machines Corporation | Method, apparatus and program storage device for a client and adaptive synchronization and transformation server |
US6460051B1 (en) * | 1998-10-28 | 2002-10-01 | Starfish Software, Inc. | System and methods for synchronizing datasets in a communication environment having high-latency or other adverse characteristics |
GB2365260B (en) * | 2000-02-24 | 2004-05-26 | Ibm | Database synchronisation for mobile computing devices |
CA2409138A1 (en) * | 2000-05-17 | 2001-11-22 | Interwoven Inc. | Method and apparatus for automatically deploying data and simultaneously executing computer program scripts in a computer network |
US6799198B1 (en) * | 2000-06-23 | 2004-09-28 | Nortel Networks Limited | Method and apparatus for providing user specific web-based help in a distributed system environment |
US7054924B1 (en) * | 2000-09-29 | 2006-05-30 | Cisco Technology, Inc. | Method and apparatus for provisioning network devices using instructions in extensible markup language |
US7464094B2 (en) * | 2000-12-29 | 2008-12-09 | Gateway Inc. | Shared registry with multiple keys for storing preferences and other applications on a local area network |
JP5010068B2 (en) * | 2001-01-16 | 2012-08-29 | セイコーエプソン株式会社 | Device environment setting system, device environment setting processing method, and information recording medium |
FI113129B (en) * | 2001-03-26 | 2004-02-27 | Nokia Corp | Synchronization of application data in a telecommunications system |
US7526575B2 (en) * | 2001-09-28 | 2009-04-28 | Siebel Systems, Inc. | Method and system for client-based operations in server synchronization with a computing device |
WO2003029971A1 (en) * | 2001-10-04 | 2003-04-10 | Accretive Technology Group, Inc. | Incentive system for distributing software over a computer network |
US7155521B2 (en) * | 2001-10-09 | 2006-12-26 | Nokia Corporation | Starting a session in a synchronization system |
US20070226155A1 (en) * | 2002-03-29 | 2007-09-27 | Jai-Jein Yu | Extended attribute-based pricing system and method |
US6920486B2 (en) * | 2002-05-20 | 2005-07-19 | Nokia Corporation | Method and apparatus for enabling synchronizing data in different devices having different capabilities and unmatched data fields |
US7318073B2 (en) * | 2002-05-31 | 2008-01-08 | Microsoft Corporation | System and method for downloading information to a mobile device |
US20040064591A1 (en) * | 2002-09-30 | 2004-04-01 | Erwin Noble | Dynamic network configuration |
-
2003
- 2003-11-25 US US10/720,203 patent/US20040230670A1/en not_active Abandoned
- 2003-11-25 US US10/720,073 patent/US7831734B2/en active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010008019A1 (en) * | 1998-04-17 | 2001-07-12 | John D. Vert | Method and system for transparently failing over application configuration information in a server cluster |
US6810405B1 (en) * | 1998-08-18 | 2004-10-26 | Starfish Software, Inc. | System and methods for synchronizing data between multiple datasets |
US6553375B1 (en) * | 1998-11-25 | 2003-04-22 | International Business Machines Corporation | Method and apparatus for server based handheld application and database management |
US20020040369A1 (en) * | 2000-01-25 | 2002-04-04 | Multer David L. | Binary data synchronization engine |
US20020095663A1 (en) * | 2000-08-31 | 2002-07-18 | Rafael Joory | Enabling an application access to setup information therefor |
US20030101223A1 (en) * | 2000-09-01 | 2003-05-29 | Pace Charles P. | System and method for synchronizing assets on multi-tiered networks |
US20020120725A1 (en) * | 2001-02-28 | 2002-08-29 | Dacosta Behram Mario | Internet-aware agent for updating applications |
US20030120784A1 (en) * | 2001-06-25 | 2003-06-26 | Kent Johnson | Method and apparatus for providing remote access of personal data |
US20030065947A1 (en) * | 2001-10-01 | 2003-04-03 | Yu Song | Secure sharing of personal devices among different users |
US20030084165A1 (en) * | 2001-10-12 | 2003-05-01 | Openwave Systems Inc. | User-centric session management for client-server interaction using multiple applications and devices |
US20030084104A1 (en) * | 2001-10-31 | 2003-05-01 | Krimo Salem | System and method for remote storage and retrieval of data |
US20030101246A1 (en) * | 2001-11-29 | 2003-05-29 | Nokia Corporation | System and method for identifying and accessing network services |
US20030182408A1 (en) * | 2002-02-15 | 2003-09-25 | Qinglong Hu | Load test system for a server and method of use |
US20070180075A1 (en) * | 2002-04-25 | 2007-08-02 | Doug Chasman | System and method for synchronization of version annotated objects |
US20040205263A1 (en) * | 2002-09-03 | 2004-10-14 | Nokia Corporation | Method, device and system for synchronizing of data providing for the handling of an interrupted synchronization process |
US20060236363A1 (en) * | 2002-09-23 | 2006-10-19 | Credant Technologies, Inc. | Client architecture for portable device with security policies |
US20070177571A1 (en) * | 2002-10-07 | 2007-08-02 | Michael Caulfield | Mobile data distribution |
Cited By (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9009265B2 (en) | 2005-09-28 | 2015-04-14 | Photobucket Corporation | System and method for automatic transfer of data from one device to another |
US20070112944A1 (en) * | 2005-09-28 | 2007-05-17 | Charles Zapata | Method and system for establishing a service-application execution environment in a hetergoneous, distributed computing system and a user-friendly data-transfer service application executing within the service-application execution environment |
US20090037515A1 (en) * | 2005-09-28 | 2009-02-05 | Ontela, Inc. | System and method for automatic transfer of data from one device to another |
WO2007038766A3 (en) * | 2005-09-28 | 2009-04-23 | Ontela Inc | System for secure data transfer between electronic devices with a wide range of capabilities over multiple communications media |
US20100016003A1 (en) * | 2005-09-28 | 2010-01-21 | Ontela, Inc. | System and method for allowing a user to opt for automatic or selectively sending of media |
US7698392B2 (en) | 2005-09-28 | 2010-04-13 | Photobucket Corporation | Method and system for establishing a user-friendly data transfer service application executing within a heterogeneous distributed service application execution environment |
US20100125651A1 (en) * | 2005-09-28 | 2010-05-20 | Ontela Inc. | Method and System for Establishing a User-Friendly Data Transfer Service Application Executing Within a Heterogeneous Distributed Service Application Execution Environment |
WO2007038766A2 (en) * | 2005-09-28 | 2007-04-05 | Ontela, Inc. | System for secure data transfer between electronic devices with a wide range of capabilities over multiple communications media |
US9049243B2 (en) | 2005-09-28 | 2015-06-02 | Photobucket Corporation | System and method for allowing a user to opt for automatic or selectively sending of media |
US8015253B1 (en) | 2005-09-28 | 2011-09-06 | Photobucket Corporation | System and method for controlling inter-device media exchanges |
US10104157B2 (en) | 2006-09-28 | 2018-10-16 | Photobucket.Com, Inc. | System and method for managing media files |
US9424270B1 (en) | 2006-09-28 | 2016-08-23 | Photobucket Corporation | System and method for managing media files |
US9240929B2 (en) | 2008-03-31 | 2016-01-19 | Amazon Technologies, Inc. | Techniques for network replication |
US10027749B2 (en) | 2008-03-31 | 2018-07-17 | Amazon Technologies, Inc. | Techniques for network replication |
US12224895B2 (en) | 2008-03-31 | 2025-02-11 | Amazon Technologies, Inc. | Proxy computing device for executing virtual network communication manager |
US11240092B2 (en) | 2008-03-31 | 2022-02-01 | Amazon Technologies, Inc. | Authorizing communications between computing nodes |
CN102047245A (en) * | 2008-03-31 | 2011-05-04 | 亚马逊技术有限公司 | Configuring communications between computing nodes |
US10601708B2 (en) | 2008-03-31 | 2020-03-24 | Amazon Technologies, Inc. | Authorizing communications between computing nodes |
US7865586B2 (en) * | 2008-03-31 | 2011-01-04 | Amazon Technologies, Inc. | Configuring communications between computing nodes |
US10218613B2 (en) | 2008-03-31 | 2019-02-26 | Amazon Technologies, Inc. | Authorizing communications between computing nodes |
US20090248846A1 (en) * | 2008-03-31 | 2009-10-01 | Cohn Daniel T | Configuring communications between computing nodes |
US9577926B2 (en) | 2008-03-31 | 2017-02-21 | Amazon Technologies, Inc. | Authorizing communications between computing nodes |
US9705792B2 (en) | 2008-03-31 | 2017-07-11 | Amazon Technologies, Inc. | Authorizing communications between computing nodes |
US20100179980A1 (en) * | 2009-01-14 | 2010-07-15 | Movidilo S.L. | Cache system for mobile communications devices |
US8560646B1 (en) | 2010-09-28 | 2013-10-15 | Amazon Technologies, Inc. | Managing communications using alternative packet addressing |
US10355991B1 (en) | 2010-09-28 | 2019-07-16 | Amazon Technologies, Inc. | Managing communications using alternative packet addressing |
US10868861B2 (en) | 2010-12-20 | 2020-12-15 | Amazon Technologies, Inc. | Techniques for network replication |
US8549347B1 (en) | 2010-12-20 | 2013-10-01 | Amazon Technologies, Inc. | Techniques for network replication |
US20150244797A1 (en) * | 2012-09-11 | 2015-08-27 | Thomas Edwall | Method and architecture for application mobility in distributed cloud environment |
US10511662B2 (en) * | 2012-09-11 | 2019-12-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and architecture for application mobility in distributed cloud environment |
US9942320B2 (en) * | 2012-09-11 | 2018-04-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and architecture for application mobility in distributed cloud environment |
US12058042B1 (en) * | 2012-12-27 | 2024-08-06 | Morris Routing Technologies, Llc | Routing methods, systems, and computer program products |
US9491223B2 (en) * | 2013-02-17 | 2016-11-08 | Onavo Mobile Ltd. | Techniques for determining a mobile application download attribution |
US20140237109A1 (en) * | 2013-02-17 | 2014-08-21 | Onavo Mobile Ltd. | Techniques for determining a mobile application download attribution |
US10402227B1 (en) * | 2016-08-31 | 2019-09-03 | Amazon Technologies, Inc. | Task-level optimization with compute environments |
US10839329B2 (en) | 2016-10-25 | 2020-11-17 | Sap Se | Process execution using rules framework flexibly incorporating predictive modeling |
US11580440B2 (en) | 2016-12-02 | 2023-02-14 | Sap Se | Dynamic form with machine learning |
US11063744B2 (en) | 2017-10-20 | 2021-07-13 | Sap Se | Document flow tracking using blockchain |
Also Published As
Publication number | Publication date |
---|---|
US20040199611A1 (en) | 2004-10-07 |
US7831734B2 (en) | 2010-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20040230670A1 (en) | Method and system for representing, configuring and deploying distributed applications | |
US7260818B1 (en) | System and method for managing software version upgrades in a networked computer system | |
JP4422606B2 (en) | Distributed application server and method for implementing distributed functions | |
CN105593817B (en) | Method and system for flexible node composition on local or distributed computer system | |
CN110311983B (en) | Service request processing method, device and system, electronic equipment and storage medium | |
US9229701B2 (en) | Local store data versioning | |
US20150012914A1 (en) | Distributed update service | |
US12073258B2 (en) | Configuration map based sharding for containers in a machine learning serving infrastructure | |
CA2827265A1 (en) | Method and system for centralized reservation context management on multi-server reservation system | |
WO2021051747A1 (en) | Data update method, system and device, electronic device, and computer storage medium | |
CN114448895B (en) | An application access method, apparatus, device and medium | |
CN110944067B (en) | Load balancing method and server | |
CN107533604B (en) | Method and apparatus for single sign-on for broker-less applications | |
US8751711B2 (en) | Storage topology manager | |
CN112732456A (en) | Micro-service calling method and device, electronic equipment and storage medium | |
CN114296953B (en) | Multi-cloud heterogeneous system and task processing method | |
Overeinder et al. | Integrating peer-to-peer networking and computing in the AgentScape framework | |
CN114884880A (en) | Data transmission method and system | |
CN114461249A (en) | Microservice deployment method, device, code server and storage medium | |
CN114338763B (en) | Micro-service calling method, micro-service calling device, server and computer readable storage medium | |
CN110851166A (en) | User-unaware application program updating method and device and computer equipment | |
WO2005041525A1 (en) | Method, system and program product for communicating over a network | |
CN113296968A (en) | Address list updating method, device, medium and electronic equipment | |
US12254027B1 (en) | Leadership election in consensus protocol with heterogeneous nodes | |
CN110661857A (en) | Data synchronization method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SAP AKTIENGESELLSCHAFT, GERMANY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SCHMIDT-KARACA, MARKUS;SMILEK, JANUSZ;BERNHARD, SVEN;REEL/FRAME:015577/0874;SIGNING DATES FROM 20040621 TO 20040623 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |