WO2002087191A2 - Système et procédé pour la distribution dynamique de données et/ou de services - Google Patents

Système et procédé pour la distribution dynamique de données et/ou de services Download PDF

Info

Publication number
WO2002087191A2
WO2002087191A2 PCT/FR2002/001365 FR0201365W WO02087191A2 WO 2002087191 A2 WO2002087191 A2 WO 2002087191A2 FR 0201365 W FR0201365 W FR 0201365W WO 02087191 A2 WO02087191 A2 WO 02087191A2
Authority
WO
WIPO (PCT)
Prior art keywords
server
irc
services
agent
agents
Prior art date
Application number
PCT/FR2002/001365
Other languages
English (en)
Other versions
WO2002087191A3 (fr
Inventor
Jonathan Duquenne
Fabrice Bonan
Original Assignee
Intoan Technology
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
Application filed by Intoan Technology filed Critical Intoan Technology
Priority to EP02735470A priority Critical patent/EP1384368A2/fr
Priority to IL15847602A priority patent/IL158476A0/xx
Priority to CA002449260A priority patent/CA2449260A1/fr
Priority to US10/475,556 priority patent/US20040139147A1/en
Priority to JP2002584573A priority patent/JP2004535626A/ja
Priority to AU2002310707A priority patent/AU2002310707B2/en
Publication of WO2002087191A2 publication Critical patent/WO2002087191A2/fr
Publication of WO2002087191A3 publication Critical patent/WO2002087191A3/fr
Priority to IL158476A priority patent/IL158476A/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols

Definitions

  • the present invention relates to the field of distribution of applications and services to remote users. It relates more particularly to the distribution of applications and / or services, in particular the dynamic distribution of data, to connected remote users, on all types of networks and distributed architectures.
  • the data are digital goods and will be described hereinafter by both of these names.
  • patent application WO 99/50995 describes an Internet service integrator composed of a platform which automatically chooses, integrates and configures, according to customer requests, the functions necessary for the establishment of an Internet service. with added value.
  • Document US 6075943 describes a system for the remote transfer and installation of client-server application programs from a source computer, in a remote data processing system.
  • a distribution cycle can integrate several programs for different recipients or for the same recipient.
  • This system uses a decompression program which must be transferred before the compressed application programs to be transferred.
  • errors are detected, but not processed automatically.
  • Document US 6141759 describes a system for managing information requests on a computer network. It implements one or more secondary server computer systems, the function of which is to replace, when necessary, a first server computer. Any errors detected in the processing of the information request give rise to a reset of the processing process.
  • the document US 5999741 describes a method for remote installation of a software update, in which the system implemented selects a communication channel to request information on the existing version and download the software update.
  • the present invention aims to provide remote users, as well as suppliers with which they are connected, means of dynamic distribution of applications and services, in the form of digital information flow, preferably secure, and advantageously with traceability allowing, for example to know the use of an object and / or to locate an object, and if necessary to obtain user profiles.
  • the system, method and means according to the invention are based on a client / server architecture.
  • the invention uses a central communication platform or server (also called Resource Center, or IRC), which directs agents capable of broadcasting the data to the end stations (or end stations) or to Resource Centers (software servers) secondary (also called child Resource Centers), serving as a relay to such agents, while communications between the central communication platform and / or secondary resource centers and agents advantageously use a secure protocol.
  • IRC Resource Center
  • the system according to the invention includes modularity and traceability means which make it a particularly suitable tool for dynamic transmissions of data and services.
  • NSP online professional service providers
  • ASP ASP
  • MSP multi-service providers
  • the system according to the invention for the distribution of applications and services to remote users mainly comprises at least one central communication platform (IRC), to which are connected functionally agents allowing the dissemination of data to the end user stations and / or, optionally, son resource centers arranged to themselves act as relays to said agents.
  • IRC central communication platform
  • LRC Intoan Resource Center
  • IV AP Intoan
  • the invention thus provides a system making it possible to produce and manage flows of digital goods, as well as the information associated with these, advantageously through all of the actors, from the creation of the good to its consumption, with the particular objective of maximizing the value of this good as it is perceived by an end customer.
  • the created good can be of a preexisting type at the supplier or be created specially on demand.
  • FIG. 1 schematically represents the constituent elements of the system according to the invention and its environment
  • FIG. 2 is a schematic representation of an embodiment of a modular architecture common to the server and to an agent
  • FIG. 3 shows an embodiment of the IVAP protocol
  • FIG. 4 illustrates the traceability of digital goods and procedures in an example of dynamic distribution according to the invention
  • - FIG. 5 shows an example of a sequence diagram representing the operation of the communication protocol advantageously implemented according to the invention in a client / server application.
  • the present invention first relates to a system for the dynamic distribution of data and / or services, essentially comprising: a server (IRC), and possibly son servers (or son Resource Centers); at least one agent, that is to say a program support, this being able to be put in communication with the server and / or the child Resource Center (s), and being able to become resident on the user machine; at least one communication layer capable of conveying calls to remote methods on objects located on a server and / or a child server, and of implementing at least one communication protocol capable of ensuring an interactive link between a server and agents, while said protocol comprises: means making it capable of producing and managing communications between at least one agent and the IRC, in particular by means of XML messages; means for calling a remote method by reading / writing objects of the ObjectRequest (ObjectRequest) and ObjectResponse (ObjectResponse) respectively, advantageously by means of a stub and a skeleton.
  • a server IRC
  • son Resource Centers or son
  • an embodiment of the system according to the invention comprises a father IRC server 1, integrating services 2, put into interactive communication by a wired link 3 and / or a wireless link 4, by means of a protocol 5 ( here IVAP protocol) with, for example a son server 6 and / or at least one agent 7, resident or become resident on a user terminal such as a telephone 8, a PDA 9, a so-called Set box Top Box 10 and / or a computer terminal 11 PC, Mac® or Sun® server, or other.
  • a protocol 5 here IVAP protocol
  • IRC 6 child servers can also be present.
  • the system according to the invention can operate on all types of networks. It advantageously allows the secure transport of all types of content (for example text, images, software, video, etc.) to all types of terminal stations, such as for example computers, telephones, digital assistants, among others .
  • content for example text, images, software, video, etc.
  • terminal stations such as for example computers, telephones, digital assistants, among others .
  • the server (s) and the agents are built around the same architecture.
  • the basic layers integrated both in the server and in the agents and / or in the Resource
  • Wire centers include appropriate means and / or functionalities to ensure: communication with agents (IVAP layer): message exchanges and binary exchanges, and optionally, encryption (via an SSL layer for example) , and / or compression (via a Zlib layer for example), and / or - task scheduling, and / or access to external databases, and / or additions / deletions modules, in particular.
  • agents IVAP layer
  • message exchanges and binary exchanges and optionally, encryption (via an SSL layer for example)
  • / or compression via a Zlib layer for example
  • the base layers are advantageously integrated in a "framework", which allows the dynamic addition of modules.
  • FIG. 2 thus schematically represents a modular architecture, which is common to the server and to the agent, comprising an encryption layer 12, a communication layer capable of implementing an IVAP protocol 5, core modules (or central modules) 13, 14, additional modules 15, 16, each in indefinite number, as well as a database management system 17, the latter being optional for agent 7 (see FIG. 1).
  • Said modules are for example, individually or cumulatively modules of the type intended to allow deployment of applications, machine monitoring, remote maintenance, teleconfiguration of a computerized workstation, remote maintenance of software packages, backup of user data, among other features and / or applications.
  • the server software is preferably developed in the Java language.
  • the implementation of the agent for the operating system of a connected terminal is preferably carried out in C ++.
  • the agent can however be developed in any language, and this according to the architectures. Those skilled in the art are able to inventory these situations, analyze them and select one or more languages suitable for a defined architecture.
  • FIG. 3 illustrates an architecture of protocol elements of a system according to the invention.
  • an encryption layer 12 SSL layer for example
  • the IVAP communication protocol 5 an XML channel 18 for the exchange of messages
  • a binary channel 19 for the exchange of data.
  • An agent in the sense understood according to the present invention, is a program medium, which can be acquired as such in the form of CD-ROM, DVD or other, or formatted and loaded from a website, among others, the buyer choosing the agent corresponding to the architecture of his machine, whether it is a PC, Mac®, Palm®, or other devices intended to host said agent, and which advantageously comprises at least one desired program or on which at least one program can be recorded, advantageously by download or remote transfer, for example from a supplier website.
  • the machine integrating or receiving the program support agent can be either a PC or Mac computer, a personal assistant, a mobile phone, or any similar device.
  • the agent becomes resident on the machine.
  • the system can be totally or partially autonomous, dynamic and scalable. It can give the end user real freedom, insofar as this end user does not necessarily have to intervene in the management or maintenance process, and can work independently of the system, which operates with transparency.
  • Such a system in accordance with the invention can be used both within "large accounts” and within VSEs / SMEs (that is to say very small businesses or small and medium-sized businesses).
  • the system according to the invention is advantageously implemented according to a method which constitutes another object of the present invention.
  • the invention therefore also relates to a method for the dynamic distribution of data and / or services, essentially comprising the steps consisting in: providing at least one agent, that is to say a program medium, which can be acquired as such in the form of CD-ROM, DVD or other, or formatted and loaded from a website, among others.
  • the buyer chooses the agent corresponding to the architecture of his machine, whether it is a PC, a Mac®, a Palm®, or other devices intended to host said agent; - install such an agent, so that it becomes resident on the user's machine; subscribe the agent by the user to the services offered, directly from the agent's interface via a directory, and this for both local services (i.e.
  • the local Resource Center defined on the local Resource Center) as for public services, as well as for paid services as for free services; optionally, subscribe the agent to the services by the system administrator from the IRC interface (that is to say centrally); - register for these services, with corresponding loading or automatic downloading of the components necessary for their activation.
  • Said protocol is intended to optimize transfers (compression, use of bandwidth, and other means) between IRCs and agents. It can be activated without having to increase the speed of exchanges, which remains a function of the quality of the selected network.
  • the method according to the invention implements a protocol, advantageously the abovementioned IVAP protocol (see FIG. 3), the essential steps of which consist in: produce and manage communications between at least one agent and the IRC, in particular by means of XML messages; call at least one remote method by reading / writing objects of types respectively ObjectRequest (ObjectRequest) and ObjectResponse (ObjectResponse), advantageously by means of a stub and a skeleton.
  • a protocol advantageously the abovementioned IVAP protocol (see FIG. 3)
  • the agent 7 communicates with the IRC 1 by means of XML messages.
  • the XML communication layer 18 is used, most of the time, to convey remote method calls on objects located on the Resource Center server.
  • the call of a remote method is carried out by reading / writing of ObjectRequest and ObjectResponse objects respectively.
  • An ObjectRequest encapsulates a method call, i.e. it contains: the name of the remote method (a simple character string) and a list of parameters (i.e. other objects ).
  • An ObjectResponse encapsulates the return status of the remote method, that is to say, for example: "a return value object,
  • the remote method call uses what is conventionally called a stub and a skeleton. These are two object classes, one respectively on the user station, the other on the server.
  • the stub and the skeleton are responsible for providing the client user, respectively the server, with a common and multi-platform interface, which delegates the communications services. This interface defines the delegated methods that the client user wishes to call on the server.
  • the data flow (see diagram below of an illustrative XML object description, in the form of a class diagram) is entirely encapsulated by these two classes.
  • FIG. 4 of the appended drawings is shown, in the form of an illustrative and non-limiting sequence diagram, the operation of the stub and of the skeleton in a client / server application when method 1 of the object interface X (see above) is invoked by the client user.
  • the dotted lines represent the communication on the network.
  • closure of the socket is at the initiative of the client, when one or more methods have been called.
  • a user can subscribe to a software rental service in this way.
  • the agent used then dialogues with the Intoan Resource Center, which sends him the components associated with this service: software distribution, software withdrawal and control.
  • the user can immediately use the loaded software.
  • the traceability implemented by the system according to the invention will also provide information related to its use, such as for example its duration of use.
  • IVAP intoan Versatile Access Protocol
  • IVAP intoan Versatile Access Protocol
  • FIG. 5 Traceability, in the sense that it is understood according to the invention, is illustrated in FIG. 5, in which a digital good 20 is packaged or packaged in a packet 22 using an application 21 and provided with an "electronic label", then deposited on an IRC 1 and routed according to a protocol 5 to the IRC 23 responsible for target end positions 24.25.
  • a reception notification 26 is sent to the sending server.
  • system for implementing the above-mentioned traceability may include, for example, (see FIG. 5):
  • Means for providing the package 22 with a "software electronic label" which may include in particular the following elements: name, size and date of the package, description of the content, electronic certificate, etc.,
  • an agent can be connected to several LRC servers.
  • the system for the dynamic distribution of data and / or services according to the invention comprises means of traceability essentially constituted by: an application 21 ensuring the packaging of a digital good 20 to constitute a package 22 and allocating thereto an electronic software tag; means for depositing said digital asset on an LRC 1; means for routing said digital asset according to a protocol 5 to the IRC 23 responsible for target end stations 24,25; means of supplying at least one notification relating to the packet 22 and of sending it to the sending server 1 and / or 6.
  • notification relating to the packet is understood here both to mean a notification of receipt 26 and / or 27,28 as well as notifications of copy, erasure, modification, or others respectively.
  • the invention therefore also relates to a system for the dynamic distribution of data and / or services as described above, and in which the distribution is carried out with traceability, by means and / or system elements as described above.
  • the system incorporates advanced mechanics making it possible to offer complete traceability of the digital goods processed by the system.
  • This advanced mechanism can in particular include means intended to provide appropriate marking of the files, return codes, routing, etc.
  • traceability in the sense that it is understood according to the present invention, involves the following steps:
  • the invention therefore also relates to a method for the dynamic distribution of data and / or services as described above, and in which the distribution is carried out with traceability, by means as described above.
  • an interactive distribution platform for digital goods and services is produced, preferably in association with traceability means.
  • the system and the method according to the invention advantageously implement a preferred selection of technical means which have been found to make it possible to optimize the results.
  • means on which the selection was made we can cite, by way of purely illustrative and nonlimiting examples: use of object languages. These offer in particular the advantage of being based on more structured codes, of offering a possibility of reuse of the components used, and easier and more reliable maintenance of the software compared to other languages, such as structured type languages, for example. choice of an independent development language for the platform and the agents respectively.
  • COM objects in the case of the Agent for Windows, this choice being able to be different for other agents designed for other types of architectures.
  • the use of COM objects makes it possible to dynamically add modules to agents and gives them the ability to interact with their environment.
  • it is recommended to opt for communication between the IRC and the agents preferably for the IVAP protocol, which is based on the language XML.
  • the standard XML language makes it possible to exchange and store data at the agent configuration level, as well as to improve the readability of the data and facilitate the desired changes.
  • the IVAP protocol based on this language which gives it the aforementioned advantageous properties, is a protocol that is both reliable and efficient.
  • XML is ideal for exchanging messages and has thus become an industry standard in EDI (Electronic Data Interchange). It is however relatively ill-suited to transporting data: it does not offer the possibility of compression or recovery from errors.
  • EDI Electronic Data Interchange
  • Such a communication protocol between the server and the agents, possibly via the child IRC relay, is a protocol in its own right, operating above the TCP / IP protocols.
  • This protocol advantageously implemented according to the invention thus has its own LP ports.
  • This protocol is designed to manage bit streams, transactions and calls to remote procedures.
  • B enables dynamic distribution, without interruption of existing services and without physical intervention on platforms and client workstations, of additional services over all or, optionally, part of the distribution network.
  • CLN Digital Logistics Chain
  • Digital Supply Chain also called “Digital Supply Chain”.
  • the protocol thus implemented integrates the management of a binary data exchange channel, which gives it better reliability, in particular in the event of interruption of the data transfer. This offers the possibility of carrying out error recovery, for example. So, when it is interrupted, the transfer resumes at the precise place where it was interrupted.
  • This bit stream management is performed natively. In particular, it allows the protocol to optimize exchanges, thanks to the optional addition of compression techniques, of known type.
  • the communication protocol used has an evolving character, which is an advantage. This provides him with the capacity to organize exchanges of messages in a standard and open manner.
  • SSL Secure Socket Layer
  • the data transfer / management protocol integrates an SSL encryption layer, which makes messages unreadable during their routing.
  • the system is based on a client / server architecture.
  • the server is called Intoan Resource Center.
  • the Intoan Resource Center (or IRC) is the central communication platform for this communication system. He directs agents, who will disseminate the data to the end stations or from the IRCs, who will act as relays to agents. Communication between the IRC and its agents is preferably based on a protocol called IVAP (Intoan Versatile Access Protocol), a secure protocol created by Intoan.
  • IVAP Intoan Versatile Access Protocol
  • IRC-agents nucleus constitutes the heart of the system. These two entities operate within an environment involving different concepts and different elements. These elements should therefore be defined immediately and their place specified (see Fig. 1). Service
  • a service is a structured suite of transactions configured to meet a particular technical need. It is hosted by the IRC and consumed by agents. The service can also be relayed by IRC-wires.
  • the components constituting a service can be personalized by the user. They are organized within a stack, which sequences their execution.
  • the services currently available make it possible, among other things, to monitor workstations and applications, synchronize data for mobile users, rent applications, perform back-up operations, etc.
  • CLN Digital Logistics Chain
  • the agent when subscribing to the software rental service, the agent dialogues with the IRC, which sends him the components associated with this service: distribution, withdrawal of the software and control.
  • the end-to-end traceability thus implemented by the system provides information related to the use of this service, such as its time of use for example. It provides transparency on the progress of the process; it is for example possible to locate an application at a given time, to deduce information on network congestion, on the use of resources, on data routing, etc. All of this information goes back to the Intoan Resource Center during the circulation of digital data, thanks to the integration of advanced mechanics: file marking, return codes, routing, etc. II General technical description / Architecture 1 Description
  • a Intoan Resource Center Intoan Resource Center is the server which hosts the services and controls the agents, possibly through the IRC-sons which will act as a relay, if desired.
  • Agent for Windows' Agent for Windows intervenes in the client part of the system. This is suitable for the Microsoft Windows® system.
  • B resides on client workstations to broadcast data. U dialogue with the IRC which pilots it, its Resource Center "father".
  • Other types of agents running on other platforms Mac®,
  • This protocol integrates XML language, which makes it structured and scalable. B manages bit streams, transactions and calls to remote procedures.
  • the secure aspect of YIVAP and by extension, of all transfers made via this protocol, is based on the use of a standard security protocol: the Secure Socket Layer (SSL).
  • SSL Secure Socket Layer
  • This protocol guarantees private and authenticated communications over networks. B therefore becomes possible to transmit confidential information without the risk of it being intercepted by a third party.
  • the two main existing web browsers support this protocol.
  • the operating principle of SSL is the use of a private key / public key pair to encrypt the data transferred during the SSL connection. d Admintool
  • the system according to the invention comprises a program intended for the configuration and administration of the IRC: Y Admintool. This is delivered by default with the solution.
  • UAdmintool (or administration tool) is a program developed in Java, allowing you to configure the IRC from any workstation connected to the network directly or indirectly, by the Internet for example, and to act on installed components. This program connects to the GUI port of the server. UAdmintool notably configures the following parameters:
  • IRC and Agent for Windows are built around the same architecture.
  • the integrated base layers on both sides allow: • the IRC to communicate with its agents, by exchanging messages and binary exchanges (IVAP layer),
  • the IRC has replication (mirroring) and clustering functions which make it possible to increase the availability of services and respond to large-scale customer management issues in distributed environments.
  • the system is based on a distributed architecture characterized by its modularity. It indeed consists of a framework and modules.
  • the framework integrates the basic layers and allows the dynamic addition of modules.
  • a module is a group of business components, integrating a set of services, which allows for example the deployment of applications, machine monitoring, remote maintenance, teleconfiguration of a station, remote maintenance of software packages or saving user data, etc. Installation of modules
  • a module is materialized by a JAR file (Java Archive), available on CD-ROM or directly on the Internet.
  • JAR file Java Archive
  • This JAR file contains:
  • a module is installed via Y Admintool which uploads to the Resource Center. It then takes care of storing it correctly on its disk and validating the license number transmitted at the same time.
  • modules There are two categories of modules: core modules, which are the modules installed by default, and business modules, which will be installed according to the specific needs of users. They can customize their system themselves, adding the modules they need.
  • the core modules are necessary for the functioning of the system. There are 6 of them: Framework, Subscribe, Identify, File Transfer, Process and Data Containers.
  • the Framework module contains the following components:
  • This component is used to program call sequences of other components over time.
  • B is intensively used by the agent for the regular launching of transaction calls and their associated components.
  • the Parser component integrates coding / decoding functions of the XML language. It accepts as input a DOM type data structure to generate an XML stream, but only creates XML streams which are integrated within the IVAP protocol.
  • this component is integrated into the Framework module.
  • B is present in both the IRC and the agent.
  • Logger reads and writes the XML stream that reaches it in a database. This component is located on the agent side.
  • the Stacker component delivers the pending Business Logic sequences on the Ylntoan Resource Center for each agent.
  • a stack is a data structure, made up of an execution sequence and its parameters, belonging to a service and intended to program an agent according to the selected service.
  • This component allows the IRC to contact an agent directly to ask him to immediately call up his stack, which is useful for executing an urgent transaction (immediate deployment of an application on a local computer for example).
  • this component is also responsible for preparing the agent stack according to the directives sent by Y Admintool.
  • the Stacker component allows the scheduling of the Business Logic of a transaction over time.
  • Subscribe module This module has only one component, called Assign Service.
  • Assign Service installed on both the server and client side, allows an agent to request the list of services offered by a supplier, but also to register an agent for an IRC service.
  • the IRC sends the exhaustive list of services it wishes to provide to the agents attached to it. Identify module
  • this module has only one component, Identify, which identifies the consumption of a transaction by an agent on a Resource Center. Present on the IRC side and the agent side, it is generally used at the start of each transaction.
  • U Intoan Resource Center validates the identity of the agent making the transaction and verifies that it is authorized to use this transaction. In the event that the agent who presents himself is unknown or is not registered for a service, the IRC does not authorize the transaction. However, if such an agent comes forward to register for a service, the IRC references him in his database.
  • a new agent creates a unique identifier that allows it to identify itself within each IRC on which the agent wants to consume a service.
  • the File Transfer module supports methods of downloading files with error recovery.
  • Each of the components making up this module is located both on the IRC side and on the agent side.
  • This component receives download requests from agents.
  • the particularity of the system lies in its operation in error recovery mode; so the agent can request the download of a file at a specific location.
  • This component supports file upload methods with error recovery. As mentioned in the case of the component
  • the particularity of the system is that it operates in error recovery mode, which allows IRC to ask the agent to upload a file to a specific location.
  • the component stores the files on the Resource Center according to its local configuration and the parameters transmitted by the agent.
  • the Pack component performs the grouping and compression of files in Intoan .pak format. It accepts an expression as a parameter; this expression defines the files to be compressed. It is possible to specify options for archiving and compressing files.
  • Unpack component decompresses pak files, based on the deployment rules included in the compressed file. These rules relate to deletion, copying of files, file paths, etc.
  • the Process module consists of three components, all located on the IRC side.
  • Component Filter Filter allows you to extract properties on a component to pass them on to another component.
  • the Format component makes it possible to present, or format, to another component a character string in which we will find variables passed as inputs.
  • This component acts as a system with a client / server architecture, on which the external process connects.
  • the Data Containers module has 6 components:
  • This component supports connection to all types of databases.
  • Send Mail allows you to write a data flow coming from components in an e-mail and to send it to its recipient.
  • the Play Sound component allows you to emit a sound on the IRC to report an event.
  • B is of course necessary that the server hosting the Resource Center be configured to emit sounds.
  • this component makes it possible to send an SNMP trap to a fleet management solution in order to raise an alert on the console for monitoring third-party software.
  • the Write to Ldap component supports connection to an LDAP database (database using the LDAP directory management protocol).
  • Agents and Ylntoan Resource Center support an unlimited number of modules. In addition, these are added without the slightest interruption in service being necessary.
  • ASP Optimail
  • Assets Sourcer The components making up each of these modules are all installed on the IRC side and on the agent side, thus ensuring communication between the two entities.
  • the Application Distribution module groups together the components and services that deal with application deployment and data distribution.
  • B has two components:
  • Deploy Application allows the deployment of applications (prepared with the Winpacker) on workstations equipped with an Agent for Windows. On the IRC, it warns the latter of the status of an installation.
  • Remove Applications removes the appUcations on workstations equipped with an Agent for Windows.
  • This module consists of components dedicated respectively to the monitoring and billing of the applications used.
  • the Monitor Applications component is used to monitor the applications installed by the application deployment component. It is also responsible for collecting information relating to the daily use of an app.
  • This component allows invoicing of the applications installed by the Application Deploy component as well as that of the daily use of an application by a user.
  • the Optimail module optimizes messaging management.
  • the components making up this module are complementary.
  • This component allows the connection of an agent on a POP or EvIAP type mail server in order to detect the Uste of messages waiting.
  • the IRC part of this component can take up the list of pending messages for the purpose, for example, of cleaning up messages from the excessively large messages that they contain.
  • the Read Mail component allows you to read the messages selected in the Uste provided by the Read Mailbox component.
  • the Store Mail component copies the content of the message read to the Ylntoan Resource Center, so that this message is available offline.
  • Send Mail allows the sending of a message, thus being complementary to the Read Mail component.
  • This component allows cleaning of the server in a single manipulation.
  • B selects the messages to be deleted according to the criteria specified by the user (message size, date received, etc.).
  • the Assets Sourcer module reports low-level data concerning the workstation on which the agent is installed.
  • B is made up of two components:
  • This component collects data relating to the workstations hosting the agent: type of microprocessor, frequency, disk space, etc.
  • the Store Assets List component allows the Ylntoan Resource Center to store the data collected by the Get Assets List component.
  • a program installs the components and libraries of Ylntoan Resource Center on the target system. Depending on the operating system under which the installation program is launched, certain parameters, such as the installation directory on Windows, will be pre-populated. An uninstallation program, as well as last-minute documentation, are also copied to the installation directory.
  • the Agent for Windows is installed by default in the "c: ⁇ Program FUes ⁇ Intoan ⁇ Agent" directory. An uninstall program and recent documentation also appear in this directory.
  • UninstaU shortcut to unwise.exe or other: uninstall program
  • Readme file shortcut to last minute information
  • the agent verifies that U has an identifier (id_agent) in its configuration file. If not, the agent will generate a unique identifier using a 50 character key. This key will be valid throughout the life of the agent.
  • the address B ° of the server allows the identification connection of the agent, who will transmit his unique identifier as well as the common user information (name, first name, address, etc.). 5 Subscription to services
  • each service provider has a certain number of services to which the user, through the agent, can subscribe.
  • Each abom ement of an agent to a service consumes one Ucence.
  • Each Intoan Resource Center is sold with a multi-service Ucence for ten agents.
  • Subscription can be done either directly from the agent interface, or by a stack directive which will call a subscription transaction.
  • a stack directive describes a Ugne of the stack.
  • a Ucence can be collected from a text file (sent by email for example).
  • the Ucence code does not exceed 32 characters and does not include a diacritical mark (accents, cédiUe, etc.).
  • the user solves the DP address of the server on which U wishes to set up his Intoan Resource Center.
  • An encrypted Ucence is created; It contains the information that the B C needs and breaks down, for example, as follows:
  • agents In order for agents to easily subscribe to services, they must be able to refer to a main server listing all available services. Likewise, local services must be listed in the local directory so that agents can subscribe to these services without requiring an Internet connection.
  • Intoan Main Service Directory the Intoan reference directory; in the interface, the name of the service is accompanied by the name of the service provider providing this service;
  • LSD Local Service Directory
  • Each IRC has its own directory, the Local Service Directory. This directory makes it easy to list private services and make them accessible by local agents, without having to manage an access rights system or requiring an Internet connection.
  • Access to the Directory of Services makes it possible to subscribe to one or more services, public or private (stored locally on the IRC).
  • a stack directive For a stack directive
  • the subscription of an agent to a particuUer service can be carried out by a stack directive (U is then a forced subscription), this directive can have been placed in the stack by the GUI port, to call a transaction d 'subscription (transaction Register to Service).
  • An Intoan Resource Center can request the referencing of a new service within the global directory.
  • U can automatically reference it in this directory. To do this, U must define the characteristics of the service to be referenced (by describing it in particular) as well as the type of referencing that U wishes to perform (public or private / local).
  • An IRC can request the removal of a service.
  • Agent for Windows GUI A simple and intuitive Y Agent for Windows graphical interface provides access to all of its functions.
  • the compression aims to optimize data transfers in terms of time and to reduce the disk space devoted to the reception of applications and programs on current workstations.
  • the Ubrairie used in the agent is zlib. This Ubrairie is a standard; It is used in particular in products such as that known commercially as Winzip.
  • Winpacker or Packer for Windows
  • C ++ The Winpacker, or Packer for Windows, is an independent program, developed in C ++, which allows the cUents of the system to prepare themselves the packages intended for the distribution on the workstations of their cUents.
  • This program is part of the "toolkit" for creating packages for Intoan Resource Centers. Its use is both simple and intuitive.
  • Winpacker allows you to create a file, which will have the extension .pak, grouping all the files in a directory or in a list. This new .pak file contains the application files to be distributed to the agents, and is used in an XML description file. Finally, this grouping file can be compressed.
  • Java is the best option within the framework of server-side development
  • the functionalities used in the cUent part of the system according to the invention notably the Agent for Windows
  • the use of the Java language induces the existence of a Java Virtual Machine on each cUent workstation.
  • this language allows faster execution of programs.
  • the standard XML language makes it possible to exchange and store data at the configuration level of the Agent for Windows, as well as to improve the usability of the data and to facilitate the possibilities of evolution.
  • IVAP is a protocol that is both reliable and efficient.
  • the addition of one or more modules can be carried out without any interruption in service; a theoretically unlimited number of modules can be supported by agents and servers; - agents can work independently and invisible; the integration of the elements of the system makes it possible to respond to a set of problems with the same set of elements; all types of connections (for example by modem, cable, xDSL, special purpose, among others) and all speeds can be supported by the elements of the system.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

L'invention concerne la distribution dynamique de données et/ou de services. Le système mis en oeuvre comporte essentiellement: un serveur IRC (1), et éventuellement des serveurs fils (6); au moins un agent (7), résident ou apte à devenir résident sur un terminal utilisateur, et apte à être mis en communication avec le serveur (1), et/ou au moins un logiciel serveur fils (6); et au moins une couche de communication (18) apte à véhiculer des appels de méthodes distantes sur des objets situés sur un serveur (1) et/ou un serveur fils (6), et à mettre en oeuvre au moins un protocole de communication (5) apte à assurer un lien interactif entre un serveur (1,6) et des agents (7), tandis que ledit protocole comporte: des moyens le rendant apte à produire et gérer des communications entre au moins un agent et l'IRC, notamment par le biais de messages XML; des moyens pour appeler une méthode distante par lecture/écriture d'objets de types respectivement Object/Request ou ObjetRequête et OjectResponse ou ObjetRéponse. Application sur tous types de réseaux et d'architectures distribuées, avec traçabilité.

Description

SYSTÈME ET PROCEDE POUR LA DISTRIBUTION DYNAMIQUE DE DONNÉES ET/OU DE SERVICES
DOMAINE DE L'INVENTION
La présente invention concerne le domaine de la distribution d'applications et de services à des utilisateurs distants. Elle concerne plus particulièrement la distribution d'applications et/ou de services, notamment la distribution dynamique de données, à des utilisateurs distants connectés, sur tous types de réseaux et d'architectures distribuées.
Les données sont des biens numériques et seront qualifiées dans la suite aussi bien par l'une que par l'autre de ces dénominations.
ARRIÉRE-PLAN TECHNOLOGIQUE DE L'INVENTION On connaît des systèmes de distribution et/ou de vérification de données en réseau, dont certains comportent une distribution sécurisée, visant à procurer des solutions ponctuelles, spécifiques pour chaque cas.
Ainsi, la demande de brevet WO 99/50995 décrit un intégrateur de services Internet composé d'une plate-forme qui choisit, intègre et configure automatiquement, selon les demandes du client, les fonctions nécessaires à la mise en place d'un service Internet à valeur ajoutée.
Le document US 6075943 décrit un système pour le transfert et l'installation à distance de programmes d'application client-serveur à partir d'un ordinateur source, dans un système de traitement de données distant. Un cycle de distribution peut intégrer plusieurs programmes pour des destinataires différents ou pour un même destinataire. Ce système utilise un programme de décompression qui doit être transféré avant les programmes d'application comprimés à transférer. De plus, les erreurs sont détectées, mais non traitées automatiquement. Le document US 6141759 décrit un système de gestion des requêtes d'information sur un réseau d'ordinateurs. Il met en oeuvre un ou plusieurs systèmes d'ordinateurs serveurs secondaires, dont la fonction est de se suppléer en cas de besoin à un premier ordinateur serveur. Les erreurs éventuellement détectées dans le traitement de la requête d'information donnent lieu à une réinitialisation du processus de traitement. Le document US 5999741 décrit une méthode d'installation à distance d'une mise à jour de logiciel, dans laquelle le système mis en oeuvre sélectionne une voie de communication pour requérir des informations sur la version existante et télécharger la mise à jour du logiciel. La présente invention vise à procurer à des utilisateurs distants, ainsi qu'aux fournisseurs avec lesquels ils sont connectés, des moyens de distribution dynamique d'applications et de services, sous forme de flux d'information numérisée, de préférence sécurisée, et avantageusement avec une traçabilité permettant, par exemple de connaître l'utilisation d'un objet et/ou de localiser un objet, et au besoin d'obtenir des profils utilisateurs.
RÉSUMÉ DE L'INVENTION
Le système, le procédé et les moyens selon l'invention reposent sur une architecture client/serveur. L'invention met en oeuvre une plate-forme de communication centrale ou serveur (encore dénommé Resource Center, ou IRC), qui dirige des agents aptes à diffuser les données vers les postes finals (ou postes finaux) ou vers des Resource Centers (logiciels serveurs) secondaires (encore dénommés Resource Centers fils), servant de relais vers de tels agents, tandis que les communications entre la plate-forme de communication centrale et/ou les centres de ressource secondaires et les agents utilisent avantageusement un protocole sécurisé.
Le système selon l'invention comporte une modularité et des moyens de traçabilité qui en font un outil particulièrement adapté pour des transmissions dynamiques de données et de services. En particulier pour les fournisseurs de services professionnels en ligne (NSP, ASP, MSP), il permet un positionnement sur de nouveaux marchés et le développement d'offres, originales, avec une qualité de service exceptionnelle, non accessible aux systèmes préexistants. Il améliore en effet la performance des offres de services en ligne en assurant : - la mise à disposition et la fiabilité des services proposés, la sécurité et la confidentialité des données échangées, et la simplicité d'utilisation et l'accessibilité des services. Le système selon l'invention pour la distribution d'applications et de services à des utilisateurs distants comporte principalement au moins une plate-forme de communication centrale (IRC), à laquelle sont reliés fonctionnellement des agents permettant la diffusion de données vers les postes utilisateurs finals et/ ou, en option, des centres de ressource fils agencés pour servir eux-mêmes de relais vers lesdits agents.
La communication entre la plate-forme de communication (dénommée ici Intoan Resource Center, soit en abrégé LRC) et ses agents met avantageusement en oeuvre un protocole dénommé en abrégé IV AP (Intoan
Versatile Access Protocol), qui est un protocole sécurisé élaboré par la demanderesse.
L'invention procure ainsi un système permettant de produire et de gérer des flux de biens numériques, ainsi que de l'information associée à ceux-ci, avantageusement au travers de l'ensemble des acteurs, depuis la création du bien jusqu'à sa consommation, avec notamment pour objectif de maximiser la valeur de ce bien telle qu'elle est perçue par un client final.
Le bien créé peut être d'un type préexistant chez le fournisseur ou être créé spécialement à la demande.
L'invention est décrite ci-après plus en détail, en référence aux dessins annexés, qui ne la limitent aucunement et sont uniquement illustratifs de certains modes de réalisation de l'invention.
BRÈVE DESCRIPTION DES DESSINS
L'invention est illustrée ci-après plus en détail, en référence aux dessins annexés, dans lesquels:
FIG. 1 représente schématiquement les éléments constitutifs du système selon l'invention et de son environnement; - FIG. 2 est une représentation schématique d'une forme de réalisation d'une architecture modulaire commune au serveur et à un agent;
FIG. 3 représente une forme de réalisation du protocole IVAP; FIG. 4 illustre la traçabilité des biens numériques et des procédures dans un exemple de distribution dynamique selon l'invention; et - FIG. 5 montre un exemple de diagramme de séquence représentant le fonctionnement du protocole de communication avantageusement mis en oeuvre selon l'invention dans une application client/serveur.
Dans les figures annexées, les mêmes numéros de référence sont, sauf exceptions, utilisés pour les mêmes éléments apparaissant sur plusieurs figures. DESCRIPTION DÉTAILLÉE DE L'INVENTION
Bien que la terminologie utilisée dans la présente demande soit classique et/ ou aisément compréhensible par l'homme du métier des différents domaines conceptuels, techniques et opérationnels concernés, les définitions de certains termes seront fournies plus loin pour en garantir la clarté. Certains noms utilisés dans la suite sont des dénominations commerciales appartenant à leurs titulaires respectifs.
La présente invention a pour premier objet un système pour la distribution dynamique de données et/ ou de services, comportant essentiellement: un serveur (IRC), et éventuellement des serveurs fils (ou Resource Centers fils); au moins un agent, c'est-à-dire un support de programme, celui-ci pouvant être mis en communication avec le serveur et/ ou le(s) Resource Center(s) fils, et étant apte à devenir résident sur la machine de l'utilisateur; au moins une couche de communication apte à véhiculer des appels de méthodes distantes sur des objets situés sur un serveur et/ ou un serveur fils, et à mettre en oeuvre au moins un protocole de communication apte à assurer un lien interactif entre un serveur et des agents, tandis que ledit protocole comporte: des moyens le rendant apte à produire et gérer des communications entre au moins un agent et l'IRC, notamment par le biais de messages XML; des moyens pour appeler une méthode distante par lecture /écriture d'objets de types respectivement ObjectRequest (ObjetRequête) et ObjectResponse (ObjetRéponse), avantageusement au moyen d'un stub et d'un skeleton. Ainsi, si l'on se réfère à la FIG. 1, une forme de réalisation du système selon l'invention comporte un serveur IRC père 1, intégrant des services 2, mis en communication interactive par une liaison filaire 3 et/ ou une liaison sans fil 4, au moyen d'un protocole 5 (ici protocole IVAP) avec, par exemple un serveur fils 6 et/ ou au moins un agent 7, résident ou devenu résident sur un terminal utilisateur tel qu'un téléphone 8, un PDA 9, une boîte dite Set Top Box 10 et/ou un terminal informatique 11 PC, Mac® ou serveur Sun®, ou autre. En option, un ou plusieurs serveurs IRC fils 6 peuvent également être présents.
Le système selon l'invention peut fonctionner sur tous types de réseaux. Il permet avantageusement le transport sécurisé de tous types de contenus (par exemple textes, images, logiciels, vidéo, etc.) à destination de tous types de postes terminaux, tels que par exemple des ordinateurs, des téléphones, des assistants numériques, entre autres.
Dans ce système, le ou les serveurs et les agents sont construits autour de la même architecture. Dans cette architecture, les couches de base intégrées tant dans le serveur que dans les agents et/ ou dans les Resource
Centers fils comportent des moyens et/ ou des fonctionnalités appropriées pour assurer: la communication avec les agents (couche IVAP): échanges de messages et échanges binaires, et en option, le cryptage (par l'intermédiaire d'une couche SSL par exemple), et/ou la compression (par l'intermédiaire d'une couche Zlib par exemple), et/ ou - l'ordonnancement des tâches, et/ ou l'accès à des bases de données externes, et/ ou des ajouts /suppressions de modules, notamment. Les couches de base sont avantageusement intégrées dans un "framework", qui permet l'ajout dynamique de modules. La FIG. 2 représente ainsi schématiquement une architecture modulaire, qui est commune au serveur et à l'agent, comportant une couche de cryptage 12, une couche de communication apte à mettre en oeuvre un protocole IVAP 5, des core modules (ou modules centraux) 13,14, des modules additionnels 15,16, les uns et les autres en nombre indéfini, ainsi qu'un système de gestion de base de données 17, ce dernier étant optionnel pour l'agent 7 (voir FIG. 1).
Lesdits modules sont par exemple, isolément ou cumulativement des modules du type visant à permettre le déploiement d'applications, la surveillance de machines, la maintenance à distance, la téléconfiguration d'un poste de travail informatisé, la télémaintenance de progiciels, la sauvegarde des données utilisateur, entre autres fonctionnalités et/ ou applications.
Le logiciel serveur, dénommé en abrégé IRC dans sa forme de réalisation préférée, est de préférence développé en langage Java. L'implémentation de l'agent pour le système d'exploitation d'un terminal connecté (par exemple un agent pour Windows®) est de préférence effectuée en C++. L'agent peut cependant être développé en n'importe quel langage, et ce en fonction des architectures. L'homme de l'art est apte à inventorier ces situations, à les analyser et à sélectionner un ou plusieurs langages appropriés pour une architecture définie.
A titre d'exemple non limitatif, la FIG. 3 illustre une architecture d'éléments de protocole d'un système selon l'invention. Dans cette figure sont schématisés une couche de cryptage 12 (couche SSL par exemple), le protocole de communication 5 IVAP, un canal XML 18 pour l'échange des messages, et un canal binaire 19 pour l'échange de données.
Un agent, au sens où on l'entend selon la présente invention, est un support de programme, qui peut être acquis en tant que tel sous forme de cédérom, DVD ou autre, ou formaté et chargé à partir d'un site Internet, entre autres, l'acquéreur choisissant l'agent correspondant à l'architecture de sa machine, qu'il s'agisse d'un PC, d'un Mac®, d'un Palm®, ou d'autres appareils destinés à héberger ledit agent, et qui comporte avantageusement au moins un programme souhaité ou sur lequel au moins un programme peut être enregistré, avantageusement par téléchargement ou télétransfert, par exemple à partir d'un site Internet fournisseur. La machine intégrant ou recevant l'agent support de programme peut être indifféremment un ordinateur PC ou Mac, un assistant personnel, un téléphone mobile, ou tout appareil analogue.
A la fin de son installation, l'agent devient résident sur la machine. Dans une forme de réalisation préférée, le système peut être totalement ou partiellement autonome, dynamique et évolutif. Il peut conférer à l'utilisateur final une réelle liberté, dans la mesure où cet utilisateur final n'a pas nécessairement à intervenir dans le procédé de gestion ou de maintenance, et peut travailler indépendamment du système, qui fonctionne avec transparence. Un tel système conforme à l'invention peut être utilisé tant au sein de "grands comptes" qu'au sein de TPE/PME (c'est-à-dire des très petites entreprises ou des petites et moyennes entreprises).
Le système selon l'invention est avantageusement mis en oeuvre selon un procédé qui constitue un autre objet de la présente invention.
L'invention a ainsi également pour objet un procédé pour la distribution dynamique de données et/ou de services, comportant essentiellement les étapes consistant à: procurer au moins un agent, c'est-à-dire un support de programme, qui peut être acquis en tant que tel sous forme de cédérom, DVD ou autre, ou formaté et chargé à partir d'un site Internet, entre autres. L'acquéreur choisit l'agent correspondant à l'architecture de sa machine, qu'il s'agisse d'un PC, d'un Mac®, d'un Palm®, ou d'autres appareils destinés à héberger ledit agent; - installer un tel agent, pour qu'il devienne résident sur la machine de l'utilisateur; effectuer la souscription de l'agent par l'utilisateur aux services proposés, directement depuis l'interface de l'agent par l'intermédiaire d'un annuaire, et ce aussi bien pour des services locaux (c'est-à-dire définis sur le Resource Center local) que pour des services publics, et aussi bien pour des services payants que pour des services gratuits; en option, effectuer l'abonnement de l'agent aux services par l'administrateur du système depuis l'interface de l'IRC (c'est a dire de façon centralisée); - effectuer l'inscription à ces services, avec corrélativement chargement ou téléchargement automatique des composants nécessaires à leur activation.
Ledit protocole est destiné à optimiser les transferts (compression, utilisation de la bande passante, et autres moyens) entre les IRC et les agents. Il peut être activé sans que l'on ait à accroître la vitesse des échanges, qui demeure fonction de la qualité du réseau sélectionné.
Dans une forme de réalisation avantageuse, le procédé selon l'invention met en oeuvre un protocole, avantageusement le protocole IVAP susdit (voir FIG. 3), dont les étapes essentielles consistent à: produire et gérer des communications entre au moins un agent et l'IRC, notamment par le biais de messages XML; appeler au moins une méthode distante par lecture /écriture d'objets de types respectivement ObjectRequest (ObjetRequête) et ObjectResponse (ObjetRéponse), avantageusement au moyen d'un stub et d'un skeleton.
Plus précisément, l'agent 7 communique avec l'IRC 1 par le biais de messages XML. La couche de communication XML 18 sert, la plupart du temps, à véhiculer des appels de méthodes distantes sur des objets situés sur le serveur Resource Center.
Selon une forme de fonctionnement préférée, l'appel d'une méthode distante s'effectue par lecture /écriture d'objets respectivement ObjectRequest et ObjectResponse .
Un ObjectRequest encapsule un appel de méthode, c'est-à-dire qu'il contient: le nom de la méthode distante (une simple chaîne de caractères) et une liste de paramètres (c'est-à-dire d'autres objets). Un ObjectResponse encapsule l'état de retour de la méthode distante, c'est-à-dire, par exemple: « un objet valeur de retour,
• un objet exception (si une exception, levée à l'exécution côté serveur, doit être interceptée par le client),
• le (ou les) objet(s) passé(s) par référence à la méthode dont l'état doit changer. Le processus de lecture/écriture d'un objet dans un flux de données
(réseau, fichier, etc.) correspond au processus de sérialisation (écriture) et de désérialisation (lecture), et permet de rendre les objets persistants, c'est-à- dire matérialisables sur une plate-forme distante. La communication par flux d'objets préconisée selon l'invention apporte le niveau d'abstraction nécessaire au traitement aisé des échanges entre client et serveur. La formalisation des processus de sérialisation/ désérialisation permet d'en automatiser la mise en oeuvre, c'est-à-dire la programmation.
L'appel de méthode distante utilise ce que l'on nomme classiquement un stub et un skeleton. Il s'agit là de deux classes d'objets, l'une respectivement sur le poste utilisateur, l'autre sur le serveur. Le stub et le skeleton sont chargés de procurer à l'utilisateur client, respectivement au serveur une interface commune et multi-plateformes, qui délègue les services communications. Cette interface définit les méthodes déléguées que l'utilisateur client souhaite appeler sur le serveur. Le flux de données (voir schéma ci-dessous d'une description objet XML illustrative, sous forme de diagramme de classes) est entièrement encapsulé par ces deux classes.
Figure imgf000011_0001
langage client Diagramme de classes langage serveur
Dans la FIG. 4 des dessins annexés est représenté, sous forme d'un diagramme de séquence illustratif et non limitatif, le fonctionnement du stub et du skeleton dans une application client/ serveur lorsque la méthode 1 de l'interface objet X (voir ci-dessus) est invoquée par l'utilisateur client. Les pointillés représentent la communication sur le réseau.
Il convient de noter que la fermeture de la socket est à l'initiative du client, lorsqu'une ou plusieurs méthodes ont été appelées.
A titre d'exemple, un utilisateur peut s'abonner ainsi à un service de location de logiciels. L'agent utilisé dialogue alors avec Y Intoan Resource Center , qui lui envoie les composants associés à ce service: distribution du logiciel, retrait du logiciel et contrôle. L'utilisateur peut immédiatement utiliser le logiciel chargé. La traçabilité mise en place par le système selon l'invention fournira par ailleurs des informations liées à son utilisation, telles que par exemple sa durée d'utilisation.
Techniquement, on met ainsi avantageusement en oeuvre: d'une part, un protocole approprié, dénommé ici en abrégé IVAP (Intoan Versatile Access Protocol), qui assure un lien interactif assimilable à un cordon ombilical reliant un IRC et/ ou des IRC fils à des agents, et - d'autre part, un système assurant la traçabilité des biens numériques qui sont véhiculés au moyen de ce protocole.
La traçabilité, au sens où on l'entend selon l'invention, est illustrée dans la FIG. 5, dans laquelle un bien numérique 20 est package ou emballé en un paquet 22 grâce à une application 21 et pourvu d'une "étiquette électronique", puis déposé sur un IRC 1 et routé selon un protocole 5 vers l'IRC 23 responsable des postes finaux cibles 24,25. Une notification de réception 26 est envoyée au serveur émetteur. Les agents 7 des postes finaux, qui récupèrent le bien numérique, envoient des notifications 27,28 à leur IRC.
En pratique, le système pour la mise en oeuvre de la traçabilité susdite peut comporter, à titre d'exemple, (voir FIG. 5):
• des moyens pour packager ou emballer un bien numérique 20 (tel qu'un logiciel), par exemple grâce à l'application Packer for Windows 21;
• des moyens pour munir le paquet 22 d'une "étiquette électronique logicielle" pouvant comprendre notamment les éléments suivants: - nom, taille et date du paquet, description du contenu, certificat électronique, etc.,
• des moyens pour déposer le paquet 22 sur un LRC 1 et pour le router automatiquement (ici grâce au protocole IVAP 5) vers l'IRC 23 responsable des postes finaux cibles 24,25;
• des moyens pour l'envoi par le serveur 23, dès réception du paquet, d'une notification de réception 26 (qui comprend l'étiquette électronique du paquet, le certificat du serveur, l'heure de réception du paquet, etc.) au serveur émetteur 1; • des moyens pour la récupération du paquet 22 par les agents 7 des postes finaux et pour l'envoi par les agents 7 de notifications 27,28 à leur IRC; et
• des moyens pour que les postes finaux informent régulièrement leur IRC des opérations qu'ils effectuent sur le bien numérique concerné (par exemple effacement, lancement du logiciel, etc.); et, en option, • des moyens pour la consignation des notifications 26,27,28 dans des bases de données et/ ou pour leur remontée automatique à tous les niveaux, de préférence jusqu'au niveau du serveur principal 1.
Il faut noter que, dans ce système, un agent peut être connecté à plusieurs serveurs LRC.
Dans une forme de réalisation préférée, le système pour la distribution dynamique de données et/ ou de services selon l'invention comporte des moyens de traçabilité essentiellement constitués par: une application 21 assurant le packaging d'un bien numérique 20 pour constituer un paquet 22 et l'allocation à celui-ci d'une étiquette électronique logicielle; des moyens pour le dépôt dudit bien numérique sur un LRC 1; des moyens pour le routage du dit bien numérique selon un protocole 5 vers l'IRC 23 responsable de postes finaux cibles 24,25; - des moyens de fourniture d'au moins une notification relative au paquet 22 et d'envoi de celle-ci au serveur émetteur 1 et/ ou 6.
On entend ici par «notification relative au paquet» 22 aussi bien une notification de réception 26 et/ou 27,28 que des notifications respectivement de copie, d'effacement, de modification, ou autres. L'invention a ainsi également pour objet un système pour la distribution dynamique de données et/ ou de services tel que décrit plus haut, et dans lequel la distribution est effectuée avec traçabilité, par des moyens et/ou des éléments de système tels que décrits ci-dessus.
Dans ces formes de réalisation, le système intègre une mécanique évoluée permettant d'offrir une traçabilité complète des biens numériques traités par le système. Cette mécanique évoluée peut notamment comporter des moyens destinés à procurer des marquages appropriés des fichiers, des codes de retours, des routages, etc.
Sous l'angle du procédé utilisé pour sa mise en oeuvre, la traçabilité, au sens où on l'entend selon la présente invention, fait intervenir les étapes suivantes:
• packaging ou emballage d'un bien numérique 20 (tel qu'un logiciel), par exemple grâce à l'application Packer for Windows 21;
• fourniture au paquet 22 d'une "étiquette électronique logicielle" pouvant comprendre notamment les éléments suivants: nom, taille et date du paquet, description du contenu, certificat électronique, etc.,
• dépôt du paquet 22 sur un IRC 1 et routage du paquet 22 automatiquement (ici grâce au protocole IVAP 5) vers l'IRC 23 responsable des postes finaux cibles 24,25;
• envoi par le serveur 23, dès réception du paquet, d'une notification de réception 26 (qui comprend l'étiquette électronique du paquet, le certificat du serveur, l'heure de réception du paquet, etc.) au serveur émetteur 1; • utilisation du paquet 22 reçu par les agents 7 des postes finaux et envoi par les agents 7 de notifications 27,28 à leur LRC; et
• information régulière de leur IRC par les postes finaux des opérations qu'ils effectuent sur le bien numérique concerné (par exemple effacement, lancement du logiciel, etc.); et, en option, • consignation des notifications 26,27,28 dans des bases de données et/ ou remontée automatique des dites notifications à tous les niveaux, de préférence jusqu'au niveau du serveur principal 1 ou d'au moins un serveur fils 6.
L'invention a ainsi également pour objet un procédé pour la distribution dynamique de données et/ ou de services tel que décrit plus haut, et dans lequel la distribution est effectuée avec traçabilité, par des moyens tels que décrits ci-dessus.
Ainsi, selon la présente invention, on réalise une plate-forme de distribution interactive de biens numériques et de services, de préférence en association avec des moyens de traçabilité.
Le système et le procédé selon l'invention mettent avantageusement en oeuvre une sélection préférée de moyens techniques qui se sont avérés permettre d'optimiser les résultats. Parmi tous les moyens sur lesquels a porté la sélection, on peut citer, à titre d'exemples purement illustratifs et non limitatifs: utilisation des langages objet. Ceux-ci offrent en particulier l'avantage de reposer sur des codes plus structurés, d'offrir une possibilité de réutilisation des composants mis en oeuvre, et une maintenance plus aisée et plus fiable du logiciel par rapport à d'autres langages, tels que des langages de type structuré, par exemple. choix d'un langage de développement indépendant pour la plate-forme et les agents respectivement. En effet, il est apparu que les différences existant entre les rôles, les fonctionnalités et les caractéristiques de l'IRC et des agents rendaient préférable d'appréhender la question d'un langage de développement de façon indépendante pour chacun, tout en s'attachant à conserver une certaine cohérence, du fait que ces deux types d'unités sont destinés à communiquer entre eux.
Pour le développement de l'IRC, le choix s'est porté sur le langage Java. Celui-ci présente deux avantages techniques essentiels: • il est multi-platef orme, c'est-à-dire qu'il s'adapte sur la majorité des systèmes d'exploitation actuellement disponibles;
• ses composants sont inter-opérables et réutilisables.
Pour le développement des agents, la préférence a été donnée au langage C++, mais les langages Java et C peuvent également être utilisés, entre autres. Cependant il s'est avéré que les fonctionnalités différentes liées aux parties client de la solution de communication selon l'invention rendaient préférable un choix de langage différent pour leur développement. L'utilisation du langage Java induirait l'existence d'une Java Virtual Machine sur chaque poste client. Par ailleurs, il est hautement avantageux de concevoir des programmes occupant un espace disque suffisamment réduit pour qu'ils puissent être installés sur l'ensemble des postes finals. Enfin, l'utilisation du langage C++ s'est avérée permettre une exécution plus rapide des programmes sur les postes finaux.
Pour rendre le fonctionnement du système plus dynamique, on peut également opter pour des objets COM, dans le cas de l'Agent for Windows, ce choix pouvant être différent pour d'autres agents conçus pour d'autres types d'architectures. L'utilisation des objets COM permet en effet d'ajouter dynamiquement des modules aux agents et leur procure la capacité d'interagir avec leur environnement. En relation avec les choix préférés susdits préconisés pour le développement des principaux acteurs du système selon l'invention, on recommande d'opter, pour la communication entre l'IRC et les agents, préférentiellement pour le protocole IVAP, lequel est fondé sur le langage XML. Le langage standard XML permet d'échanger et de stocker des données au niveau de la configuration des agents, ainsi que d'améliorer la lisibilité des données et de faciliter les évolutions souhaitées. Le protocole IVAP fondé sur ce langage, qui lui confère les propriétés avantageuses susdites, est un protocole à la fois fiable et performant.
Un perfectionnement supplémentaire, décrit plus loin, de ce système selon l'invention a été réalisé pour mieux répondre à l'accroissement considérable du nombre de solutions dédiées de nos jours au transport de données, afin de permettre aux informations véhiculées de pouvoir bénéficier aisément de services à haute valeur ajoutée.
Le langage XML est idéal pour l'échange de messages et est ainsi devenu un standard de l'industrie dans l'EDI (Electronic Data Interchange). H est cependant relativement mal adapté au transport de données: il n'offre pas de possibilité de compression, ni de reprise sur erreur.
L'utilisation de composants standard appropriés et du protocole IVAP permet d'adjoindre des services à très haute valeur ajoutée aux informations véhiculées, en intégrant cryptage (couche de cryptage SSL (Secure Socket
Layer)), reprise sur erreur, ordonnancement des opérations, traçabilité des données, entre autres.
Un tel protocole de communication entre le serveur et les agents, éventuellement par le relais d'IRC fils, est un protocole à part entière, fonctionnant au-dessus des protocoles TCP/IP. Ce protocole avantageusement mis en oeuvre selon l'invention possède ainsi ses propres ports LP.
Ce protocole est conçu pour gérer des flux binaires, transactions et appels de procédures distantes. B permet de distribuer dynamiquement, sans interruption des services existants et sans intervention physique sur les plates-formes et les postes clients, des services additionnels sur la totalité ou, en option, une partie du réseau de distribution.
Le transport de données numériques et d'informations associées au moyen du système selon l'invention s'effectue sur la "Chaîne Logistique Numérique" (CLN), encore dénommée "Supply Chain Numérique".
Dans un mode de réalisation, le protocole ainsi mis en oeuvre intègre la gestion d'un canal d'échange de données binaires, ce qui lui procure une meilleure fiabilité, notamment en cas d'interruption du transfert de données. Cela offre la possibilité d'effectuer par exemple des reprises sur erreur. Ainsi, lorsqu'il est interrompu, le transfert reprend à l'endroit précis où il s'était interrompu.
Cette gestion des flux binaires s'effectue en natif. Elle permet notamment au protocole d'optimiser les échanges, grâce à l'adjonction optionnelle de techniques de compression, de type connu.
En langage XML, le protocole de communication utilisé présente un caractère évolutif, ce qui constitue un avantage. Cela lui fournit la capacité d'organiser des échanges de messages de façon standard et ouverte.
Pour sa sécurisation, on peut lui adjoindre un protocole de sécurité standard, dénommé "Secure Socket Layer" (SSL). Dans cette forme de réalisation, le protocole de transfert/ gestion des données intègre une couche de cryptage SSL, qui permet de rendre les messages illisibles pendant leur acheminement.
L'invention est maintenant décrite plus en détail ci-après, en référence à des formes de réalisation illustratives, qui ne limitent en aucune manière l'invention revendiquée.
Le serveur et les agents de la "Chaîne Logistique Numérique" Intoan
Le système repose sur une architecture client /serveur. Le serveur est dénommé Intoan Resource Center.
L'Intoan Resource Center (ou IRC) est la plate-forme de communication centrale de ce système de communication. Il dirige des agents, qui vont diffuser les données vers les postes finals ou des IRC fils, qui serviront de relais vers des agents. La communication entre l'IRC et ses agents repose préférentiellement sur un protocole dénommé IVAP {Intoan Versatile Access Protocol), protocole sécurisé créé par Intoan.
I Environnement Le noyau IRC-agents constitue le cceαr du système. Ces deux entités fonctionnent au sein d'un environnement faisant intervenir différentes notions et différents éléments. Il convient par conséquent de définir dès à présent ces éléments et de préciser leur place (voir Fig. 1). Service
Un service est une suite structurée de transactions configurées pour répondre à un besoin technique particulier. Il est hébergé par l'IRC et consommé par des agents. Le service peut également être relayé par des IRC- fils.
Les composants constituant un service peuvent être personnalisés par l'utilisateur. Us sont organisés au sein d'une pile (stack), qui séquence leur exécution. Les services actuellement disponibles permettent, entre autres, de surveiller des postes et des applications, de synchroniser des données pour les utilisateurs nomades, de louer des applications, d'effectuer des opérations de back-up, etc.
2 Chaîne Logistique Numérique La Chaîne Logistique Numérique {CLN) assure le transport des données numériques et des informations associées entre le serveur et les postes clients. Elle permet de suivre l'acheminement des biens numériques, établissant ainsi une traçabilité sur les transports de données.
A titre d'exemple, lors d'un abonnement au service de location de logiciels, l'agent dialogue avec l'IRC, qui lui envoie les composants associés à ce service: distribution, retrait du logiciel et contrôle.
La traçabilité de bout en bout ainsi mise en place par le système fournit des informations liées à l'utilisation de ce service, comme son temps d'utilisation par exemple. Elle permet d'apporter de la transparence sur le déroulement du processus ; il est par exemple possible de localiser une application à un moment donné, de déduire des informations sur la congestion du réseau, sur l'utilisation des ressources, sur racheminement des données, etc. L'ensemble de ces informations remontent vers Y Intoan Resource Center lors de la circulation des données numériques, grâce à l'intégration d'une mécanique évoluée : marquage de fichiers, codes de retours, routage, etc. II Description technique générale / Architecture 1 Description
a Intoan Resource Center Intoan Resource Center est le serveur qui héberge les services et pilote les agents, éventuellement par l'intermédiaire des IRC-fils qui lui serviront de relais, si on le souhaite.
b Agent for Windows 'Agent for Windows intervient dans la partie client du système. Cette est adaptée au système Microsoft Windows®. B réside sur les postes clients pour diffuser des données. U dialogue avec l'IRC qui le pilote, son Resource Center « père ». D'autres types d'agents fonctionnant sur d'autres plate-formes (Mac®,
Unix®, PalmOS®, etc.) peuvent y être ajoutés.
c Protocole de communication : l'IVAP
La communication entre IRC et agents est assurée par un protocole de communication fiable, et de préférence sécurisé : Ylntoan Versatile Access Protocol.
Ce protocole intègre le langage XML, ce qui le rend structuré et évolutif. B gère flux binaires, transactions et appels de procédures distantes. L'aspect sécurisé de YIVAP et par extension, de l'ensemble des transferts effectués via ce protocole, repose sur l'utilisation d'un protocole de sécurité standard: le Secure Socket Layer (SSL).
Ce protocole garantit des communications privées et authentifiées sur les réseaux. B devient par conséquent possible de transmettre des informations confidentielles sans risque qu'elles soient interceptées par un tiers. Les deux principaux navigateurs Web existants supportent ce protocole.
Le principe de fonctionnement de SSL est l'utilisation d'un couple clé privée/clé publique pour crypter les données transférées pendant la connexion SSL. d Admintool
Outre ses parties serveur et clients, le système selon l'invention comporte un programme destiné à la configuration et à l'administration de l'IRC : Y Admintool. Celui-ci est livré par défaut avec la solution.
UAdmintool (ou administration tool, outil d'administration) est un programme développé en Java, permettant de configurer l'IRC à partir de n'importe quel poste connecté au réseau directement ou indirectement, par l'Internet par exemple, et d'agir sur les composants installés. Ce programme se connecte sur le port GUI du serveur. UAdmintool configure notamment les paramètres suivants:
• le nom du serveur ;
• l'adresse IP du serveur ;
• le port destiné aux agents ; • le port d'administration ;
• le mot de passe administrateur ;
• la cryptographie utilisée (SSL, MD5, etc.) ;
• l'emplacement des fichiers certificats (Keystore et Truststore) ;
• la connexion de la base de données à laqueUe se connecter. UAdmintool rend ainsi plusieurs composants disponibles, pour optimiser le fonctionnement du système :
• un composant de configuration des paramètres globaux d'un Resource Center,
• un composant d'interrogation de l'IRC sur son état courant (ce composant est accessible par deux implémentations distinctes : version XML et version Objet Java sérialisée),
• un composant d'installation et de visualisation des modules présents sur le Resource Center,
• un composant d'installation et de visualisation des licences agent sur l'IRC.
2 Architecture
IRC et Agent for Windows sont construits autour de la même architecture. Les couches de base intégrées de part et d'autre permettent : • à l'IRC de communiquer avec ses agents, par échanges de messages et échanges binaires (couche IVAP),
• le cryptage de ces transferts de données grâce à une couche SSL,
• la compression (couche zlib), • l'ordonnancement des tâches,
• l'accès à des bases de données externes,
• les ajouts et suppressions de modules,
• etc.
Pour des questions de performance et d'organisation, les Intoan Resource Centers ont la faculté de pouvoir se chaîner les uns aux autres. B devient dès lors très simple de déployer une arborescence d'IRC, chaque serveur s'identifiant et se configurant alors de façon automatique. Cela confère
Par ailleurs, l'IRC dispose de fonctions de réplication (mirroring) et de clustering permettant d'augmenter la disponibilité de services et de répondre à des problématiques de gestion à grande écheUe des clients dans des environnements distribués.
a Framework Le système repose sur une architecture distribuée caractérisée par sa modularité. Elle se compose en effet d'un framework et de modules.
Au sein de cette architecture modulaire, le framework intègre les couches de base et permet l'ajout dynamique de modules.
b Modules
Un module est un groupe de composants métier, intégrant un ensemble de services, qui permet d'effectuer par exemple le déploiement d'applications, la surveillance de machines, la maintenance à distance, la téléconfiguration d'un poste, la télémaintenance de progiciels ou la sauvegarde de données utilisateurs, etc. Installation de modules
Un module se matérialise par un fichier JAR (Java Archive), disponible sur cédérom ou directement sur Internet.
Ce fichier JAR contient:
un fichier XML de description du module, des classes pour les composants, des bibliothèques DLL pour l'Agent For Windows, » un script SQL pour créer ou modifier des tables, des scripts SQL pour créer des services génériques (services proposés par défaut) dans la base.
Un module s'installe via Y Admintool qui effectue un upload sur le Resource Center. Celui-ci se charge alors de le stocker correctement sur son disque et de valider le numéro de licence transmis au même moment.
B existe deux catégories de modules : les core modules, qui sont les modules instaUés par défaut, et les business modules, qui seront installés en fonction des besoins particuliers des utilisateurs. Ces derniers peuvent personnaliser eux-mêmes leur système, en ajoutant les modules dont ils ont besoin.
Core modules
Les core modules sont nécessaires au fonctionnement du système. Bs sont au nombre de 6 : Framework, Subscribe, Identify, File Transfer, Process et Data Récipients.
Module Framework
Le module Framework contient les composants suivants :
Composant Scheduler
Ce composant permet de programmer dans le temps des séquences d'appels d'autres composants. B est intensivement utilisé par l'agent pour le lancement à intervalles réguliers d'appels de transactions et de leurs composants associés. Composant Parser
Le composant Parser intègre des fonctions de codage/décodage du langage XML. Il accepte en entrée une structure de données de type DOM pour générer un flux XML, mais ne crée que des flux XML qui sont intégrés au sein du protocole IVAP.
Dans la mesure où son utilisation est omniprésente dans les échanges IRC- agent, ce composant est intégré au module Framework. B est présent à la fois dans l'IRC et dans l'agent.
Composant Logger
Logger lit et écrit le flux XML qui lui parvient dans une base de données. Ce composant se trouve côté agent.
Composant Stacker Le composant Stacker délivre les séquences Business Logic en attente sur Ylntoan Resource Center pour chaque agent.
Une stack est une structure de données, constituée d'une séquence d'exécution et de ses paramètres, appartenant à un service et destinée à programmer un agent en fonction du service sélectionné. Ce composant permet à l'IRC de contacter directement un agent pour lui demander de faire immédiatement appel à sa stack, ce qui est utile pour exécuter une transaction urgente (déploiement immédiat d'une application sur un poste local par exemple). Par ailleurs, ce composant est également responsable de la préparation de la stack des agents en fonction des directives envoyées par Y Admintool.
En ce qui concerne l'agent, le composant Stacker permet l'ordonnancement de la Business Logic d'une transaction dans le temps.
Module Subscribe Ce module ne comporte qu'un composant, appelé Assign Service.
Assign Service, instaUé à la fois côté serveur et client, permet à un agent de demander la liste des services proposés par un fournisseur, mais également d'inscrire un agent à un service d'un IRC.
L'IRC envoie la liste exhaustive des services qu'il désire fournir aux agents qui lui sont rattachés. Module Identify
Comme le module Subscribe, ce module ne comporte qu'un seul composant, Identify, qui permet d'identifier la consommation d'une transaction par un agent sur un Resource Center. Présent côté IRC et côté agent, il est généralement utilisé en début de chaque transaction.
U Intoan Resource Center valide l'identité de l'agent qui effectue la transaction et vérifie qu'il est autorisé à utiliser cette transaction. Dans l'éventualité où l'agent qui se présente est inconnu ou n'est pas inscrit à un service, l'IRC n'autorise pas la transaction. Cependant, si un tel agent se présente pour s'inscrire à un service, l'IRC le référence dans sa base de données.
Lors de son installation, un nouvel agent se crée un identifiant unique qui lui permet de s'identifier au sein de chaque IRC sur lequel l'agent veut consommer un service.
Module File Transfer
Le module File Transfer prend en charge les méthodes de téléchargement de fichiers avec reprise sur erreur. Chacun des composants constituant ce module est situé à la fois côté IRC et côté agent. Quatre composants, complémentaires, constituent ce module:
Composant Download
Ce composant accuei e les demandes de download des agents. La particularité du système réside dans son fonctionnement en mode reprise sur erreur; ainsi l'agent peut demander le download d'un fichier à un endroit précis.
Composant Upload
Ce composant prend en charge les méthodes d'upload de fichiers avec reprise sur erreur. Comme évoqué dans le cas du composant
Download, la particularité du système est de fonctionner en mode reprise sur erreur, ce qui permet à l'IRC de demander à l'agent l'upload d'un fichier à un endroit précis. Le composant stocke les fichiers sur le Resource Center selon sa configuration locale et les paramètres transmis par 1 ' agent. Composant Pack
Le composant Pack effectue le groupement et la compression de fichiers en format Intoan .pak. Il accepte une expression comme paramètre ; cette expression permet de définir les fichiers à compresser. Il est possible de spécifier des options d'archivage et de compression des fichiers.
Composant Unpack Le composant Unpack effectue la décompression des fichiers pak, et cela, en se basant sur les règles de déploiement incluses dans le fichier compressé. Ces règles concernent les suppression, copie de fichiers, chemins de fichiers, etc.
Module Process
Le module Process est constitué de trois composants, tous situés côté IRC.
Composant Filter Filter permet d'extraire des propriétés sur un composant pour les transmettre à un autre composant.
Composant Format
Le composant Format permet de présenter, ou formater, à un autre composant une chaîne de caractères dans laquelle on va trouver des variables passées en entrées.
Composant External Connect
Le rôle de ce composant consiste à connecter une transaction sur une appBcation externe. Il agit comme un système ayant une architecture client/serveur, sur lequel se connecte le processus externe.
B est par exemple possible d'utiliser External Connect pour connecter une transaction de déploiement d'application à une solution de facturation externe. Module Data Récipients
De même que pour le module Process, l'ensemble des composants constituant le module Data Récipients se trouvent côté Intoan Resource Center et ne sont utilisés que dans cette partie du système. 5 Le module Data Récipients comporte 6 composants :
Composant Write to Datàbase
Ce composant prend en charge la connexion sur tous les types de bases de données.
10
Composant Write to File
Write to File permet d'écrire dans un « fichier plat » un flux de données provenant de composants. Ce composant est utile pour constituer des fichiers de type LOG.
15
Composant Send Mail
A la manière du composant Write to Dat base, Send Mail permet d'écrire un flux de données provenant de composants dans un e-mail et de l'envoyer à son destinataire.
20
Composant Play Sound
Dans le cadre d'un service, le composant Play Sound permet d'émettre un son sur l'IRC pour signaler un événement. B est bien entendu nécessaire que le serveur hébergeant le Resource Center soit configuré 25 pour émettre des sons.
Composant Send Snmp Trap
Placé au sein d'un service, ce composant permet d'envoyer un trap SNMP vers une solution de gestion de parc afin de remonter une 30 alerte sur la console de supervision d'un logiciel tiers.
Composant Write to Ldap
Le composant Write to Ldap prend en charge la connexion sur une base LDAP (base utilisant le protocole de gestion d'annuaires LDAP).
3.5 Business modules
Son aspect modulaire fournit une caractéristique propre au système selon l'invention son extensibilité, dans la mesure où il est possible d'ajouter des modules à la configuration de départ, en fonction de l'usage de postes clients particuliers ; ces modules sont dénommés business modules.
Les agents et Ylntoan Resource Center supportent un nombre illimité de modules. De plus, ceux-ci sont ajoutés sans que la moindre interruption de service ne soit nécessaire.
En termes de programmation, l'ajout de modules fait intervenir des objets COM ; ceux-ci permettent en effet de créer des instances objets avec des bibliothèques.
Il existe actueHement 4 business modules, auxquels peuvent être adjoints d'autres modules spécifiques Application Distribution, Application
ASP, Optimail et Assets Sourcer. Les composants constituant chacun de ces modules sont tous instaUés côté IRC et côté agent, assurant ainsi la communication entre les deux entités.
Module Application Distribution
Le module Application Distribution regroupe les composants et services qui traitent du déploiement d'applications et de la distribution de données. B comporte deux composants :
Composant Deploy Applications
Deploy Application permet le déploiement d'appUcations (préparées avec le Winpacker) sur les postes équipés d'un Agent for Windows. Sur l'IRC, il avertit celui-ci de l'état d'une installation.
Composant Remove Applications
Fonctionnant sur le même principe que le composant de déploiement, Remove Applications effectue le retrait des appUcations sur les postes équipés d'un Agent for Windows. Module Application ASP
Ce module est constitué de composants dédiés respectivement à la surveillance et à la facturation des applications utilisées.
Composant Monitor Applications
Le composant Monitor Applications permet d'effectuer la surveillance d'appUcations instaUées par le composant de déploiement d'appUcations. Il est également chargé de coUecter les informations relatives à l'usage journaUer d'une appUcation.
Composant Bill Applications
Ce composant permet la facturation des appUcations instaUées par le composant Application Déployer ainsi que ceUe de l'usage journaUer d'une appUcation par un utilisateur.
Module Optimail
Le module Optimail permet d'optimiser la gestion de la messagerie. Les composants constituant ce module sont complémentaires.
Composant Read Mailbox
Ce composant permet la connexion d'un agent sur un serveur de messagerie de type POP ou EvIAP afin de relever la Uste des messages en attente. La partie IRC de ce composant peut relever la Uste des messages en attente dans le but, par exemple, de nettoyer une messagerie des messages trop volumineux qu'eUe contient.
Composant Read Mail
InstaUé côté IRC, le composant Read Mail permet de lire les messages sélectionnés dans la Uste fournie par le composant Read Mailbox.
Composant Store Mail
Le composant Store Mail copie le contenu du message lu sur Ylntoan Resource Center, de façon à ce que ce message soit disponible hors connexion Internet. Composant Send Mail
Send Mail permet l'envoi d'un message, étant ainsi complémentaire au composant Read Mail.
Composant Clean Mailbox
Ce composant permet d'effectuer un nettoyage du serveur en une seule manipulation. B sélectionne les messages à effacer en fonction des critères spécifiés par l'utiUsateur (taiUe du message, date de réception, etc.).
Module Assets Sourcer
Le module Assets Sourcer remonte des données bas niveau concernant le poste sur lequel l'agent est instaUé. B est constitué de deux composants :
Composant Get Assets List
Ce composant coUecte les données relatives aux postes hébergeant l'agent : type de microprocesseur, fréquence, espace disque, etc.
Composant Store Assets List Le composant Store Assets List permet à Ylntoan Resource Center de stocker les données recueiUies par le composant Get Assets List.
3 Installation
a Installation du Resource Center Intoan Resource Center est principalement distribué sur cédérom. Développé en Java, U est conçu pour fonctionner sur les plate-formes pouvant supporter une Java Virtual Machine (version 1.3 et supérieures) :
• Windows 95, 98, Me, NT 4.0, 2000 (NT et 2000 étant recommandés), • Solaris SPARC 2.5 et versions supérieures,
• Mac OS 8.0 et versions supérieures,
• HP-UX 10.x, 11.x et versions supérieures,
• AIX 4.x et versions supérieures,
• BSD, Linux Intel, IRIX, Tru64 et autres plates-formes UNIX. B est également nécessaire que le serveur destiné à accueillir l'IRC dispose d'une base de données préalablement à l'instaUation.
Un programme installe les composants et les bibUothèques de Ylntoan Resource Center sur le système cible. En fonction du système d'exploitation sous lequel le programme d'installation est lancé, certains paramètres, tels que le répertoire d'instaUation sous Windows, seront prérenseignés. Un programme de désinstaUation, ainsi qu'une documentation de dernière minute sont également copiés dans le répertoire d'instaUation.
b Installation de l'Agent for Windows
L'instaUation de Y Agent for Windows s'effectue depuis un programme d'instaUation de type InstaUShield. Le remplacement de ce programme, développé en C++, par le système d'instaUation interne ά'Intoan Technology est envisageable à l'avenir.
L'Agent for Windows s'instaUe par défaut dans le répertoire « c:\Program FUes\Intoan\Agent ». Un programme de désinstaUation et une documentation récente apparaissent également dans ce répertoire.
Une fois l'agent installé, le menu Démarrer { Programmes donne accès au dossier Intoan Technology, qui contient les éléments suivants :
• Intoan Agent, raccourci vers IAgent.exe (l'agent est accompagné d'un fichier de configuration en XML) ;
• UninstaU (raccourci vers unwise.exe ou autre : programme de désinstaUation) ; • Fichier Readme (raccourci vers les informations de dernière minute).
4 Identification
Lors de la première utilisation, l'agent vérifie qu'U possède un identifiant (id_agent) dans son fichier de configuration. Si tel n'est pas le cas, l'agent va générer un identifiant unique en utiUsant une clé de 50 caractères. Cette clé sera valable tout au long de la vie de l'agent.
L'adresse B° du serveur permet la connexion d'identification de l'agent, qui transmettra son identifiant unique ainsi que les informations utilisateurs communes (nom, prénom, adresse, etc.). 5 Abonnement aux services
Le serveur de chaque prestataire dispose d'un certain nombre de services auxquels l'utilisateur, à travers l'agent, peut souscrire. Chaque abom ement d'un agent à un service consomme une Ucence. Chaque Intoan Resource Center est vendu avec une Ucence multiservices pour dix agents.
Parmi les services proposés, sont actueUement disponibles les services de déploiement d'appUcations, de synchronisation de fichiers et/ou de répertoires, de récupération de données, de sauvegarde, d'abonnement et de résiliation d'abonnement à d'autres services, etc. L'abonnement peut s'effectuer soit de manière directe depuis l'interface de l'agent, soit par une directive stack qui appeUera une transaction d'abonnement. Une directive stack décrit une Ugne de la stack.
Certains services proposés à l'abonnement sont gratuits, d'autres payants. Les informations relatives à la tarification sont accessibles dans la page de présentation de chaque service.
a Licences - Attribution des licences
Au cours de l'instaUation d'un module, l'utilisateur doit entrer un code de Ucence vaUde. Ce code est à saisir dans l'interface de Y Admintool dans l'espace prévu à cet effet.
Une Ucence peut être coUectée à partir d'un fichier texte (envoyé par courrier électronique par exemple). Le code de Ucence n'excède pas 32 caractères et n'inclut pas de signe diacritique (accents, cédiUe, etc.).
Procédure d'attribution de licence(s)
L'uti isateur solUcite l'adresse DP du serveur sur lequel U souhaite instaUer son Intoan Resource Center. Une Ucence cryptée est créée; eUe contient les informations dont l'B C a besoin et se décompose, par exemple, comme suit:
[NUMERO DE SERIE \ SKU | NB de LICENCES | ADDRESSE IP] Au démarrage et à intervaUes réguUers (par exemple toutes les heures), l'IRC vérifie la concordance entre ses paramètres de configuration (adresse IP) et les Ucences instaUées. b Annuaire des services
Pour que les agents puissent facUement s'abonner à des services, Us doivent pouvoir se référer à un serveur principal recensant tous les services disponibles. De même, les services locaux doivent être recensés au niveau de l'annuaire local pour que les agents puissent s'abonner à ces services sans pour autant nécessiter de connexion Internet.
Deux types d'annuaires peuvent donc être implémentés:
• Intoan Main Service Directory {IMSD) : l'annuaire de référence Intoan ; dans l'interface, le nom du service est accompagné du nom du prestataire fournissant ce service ;
• Local Service Directory {LSD) : l'annuaire local propre à chaque IRC. Ces deux annuaires sont accessibles par sélection de Nouveaux Services dans le menu de l'écran principal.
Intoan Main Service Directory
L'ensemble des services pubUcs est référencé au sein d'un annuaire global. Cet annuaire est hébergé et maintenu par Intoan. Dans un premier temps, une seule instance de ce serveur sera fonctionneUe au niveau mondial. U est probable que YIMSD bénéficie à moyen terme d'une architecture matérieUe de haut niveau (cluster, mirroring, etc.).
Local Service Directory
Chaque IRC possède son propre annuaire, le Local Service Directory. Cet annuaire permet de répertorier facUement les services privés et de les rendre accessibles par les agents locaux, sans avoir à gérer de système de droits d'accès, ni nécessiter de connexion Internet.
c Inscription Par l'interface de l'agent
L'accès à Y Annuaire des Services permet de s'abonner à un ou plusieurs services, pubUcs ou privés (stockés localement sur l'IRC). Par une directive stack
L'abonnement d'un agent à un service particuUer peut être effectué par une directive stack (U s'agit alors d'un abonnement forcé), cette directive pouvant avoir été placée dans la stack par le port GUI, pour appeler une transaction d'abonnement (transaction Register to Service).
d Référencement d'un nouveau service
Un Intoan Resource Center peut demander le référencement d'un nouveau service au sein de l'annuaire global. Lorsqu'un prestataire défmit un nouveau service, U peut le référencer automatiquement au sein de cet annuaire. Pour cela, U doit définir les caractéristiques du service à référencer (en le décrivant notamment) ainsi que le type de référencement qu'U souhaite effectuer (pubUque ou privé /local).
e Suppression d'un service
Un IRC peut demander la suppression d'un service.
6 IHM de l'Agent for Windows Une interface graphique de Y Agent for Windows Simple et intuitive permet d'accéder à l'ensemble de ses fonctionnaUtés.
7 Compression
La compression vise à optimiser les transferts de données en termes de temps et à réduire l'espace disque consacré à l'accueU des appUcations et des programmes sur les postes cUents. La Ubrairie utilisée dans l'agent est zlib. Cette Ubrairie est un standard ; eUe est notamment utilisée dans des produits tels que celui dénommé commercialement Winzip.
8 Programme additionnel ; le Winpacker
Le Winpacker, ou Packer for Windows, est un programme indépendant, développé en C++, qui permet aux cUents du système de préparer eux- mêmes les packages destinés à la diffusion sur les postes de leurs cUents. Ce programme fait partie du "toolkit" de création de packages à destination des Intoan Resource Centers. Son utilisation est à la fois simple et intuitive. Winpacker permet de créer un fichier, qui portera l'extension .pak, regroupant tous les fichiers d'un répertoire ou d'une liste. Ce nouveau fichier .pak contient les fichiers de l'appUcation à diffuser vers les agents, et est Ué à un ficliier de description XML. Enfin, ce fichier de regroupement peut être compressé.
III Choix techniques
Parmi les diverses options disponibles pour développer la plate-forme et les agents selon l'invention, on a choisi d'utiliser préférentieUement des langages objet. Ceux-ci offrent notamment l'avantage de codes plus structurés, d'une possibilité de réutilisation des composants et d'une meUleure maintenance du logiciel par rapport à d'autres langages, tels que des langages de type structuré par exemple.
Etant donné les différences existant entre les rôles, les fonctionnaUtés et les caractéristiques de l'IRC et de l'agent, U semblait nécessaire d'appréhender la question d'un langage de développement de façon indépendante pour chacun, tout en conservant une certaine cohérence (communication entre ces deux unités).
1 Développement de l'Intoan Resource Center
Le choix de développement de l'IRC s'est porté préférentieUement sur le langage Java. Celui-ci présente en effet deux principaux avantages techniques:
• il est multi-plateforme, c'est-à-dire qu'U s'adapte sur la majorité des systèmes d'exploitation actueUement disponibles ;
• ses composants sont inter-opérables et réutilisables.
Ces propriétés sont nécessaires dans l'optique de conception d'un serveur multi-plateforme tel que l'IRC, rendant ainsi ce choix technique cohérent.
2 Développement de l'Agent for Windows
Si Java constitue la meilleure option dans le cadre du développement côté serveur, les fonctionnaUtés Uées à la partie cUent du système selon l'invention, notamment Y Agent for Windows, impUquent un choix différent pour son développement. D'une part, l'utilisation du langage Java induit l'existence d'une Java Virtual Machine sur chaque poste cUent. Par ailleurs, il est nécessaire de concevoir des programmes occupant un espace disque suffisamment réduit pour pouvoir être instaUés sur l'ensemble des postes finals. Enfin, l'utilisation de ce langage permet une exécution plus rapide des programmes.
Dans cette optique, la demanderesse a choisi d'utiliser préférentieUement le langage C++ dans le développement de ses agents.
Toutefois, d'autres agents pourront éventuellement être développés dans d'autres langages, et ce, en fonction de l'environnement pour lequel Us sont conçus.
Un autre choix technique visant à rendre le système plus dynamique consiste à utiliser des objets COM. L'utilisation de ces objets permet en effet d'ajouter dynamiquement des modules à l'Agent for Windows et leur offre la capacité d'interagir avec leur environnement.
3 Communication IRC/agent
En accord avec les choix effectués pour le développement des principaux acteurs du système, la communication entre l'IRC et l'agent imposait également un choix technique; comme évoqué précédemment, ce choix s'est porté sur le langage XML. Ce langage sert de base pour le protocole de communication Intoan Versatile Access Protocol {IVAP), protocole créé par Intoan.
Le langage standard XML permet d'échanger et de stocker des données au niveau de la configuration de Y Agent for Windows, ainsi que d'améUorer la UsibUité des données et de facUiter les possibilités d'évolution.
Bénéficiant ainsi de ces propriétés, IVAP est un protocole à la fois fiable et performant.
Parmi les avantages induits par la modularité du système selon l'invention, U faut noter les suivants : l'ajout d'un ou plusieurs modules peut être effectué sans la moindre interruption de service ; un nombre théoriquement illimité de modules peut être supporté par les agents et les serveurs ; - les agents peuvent travaiUer de manière autonome et invisible; l'intégration des éléments du système permet de répondre à un ensemble de problèmes avec un même ensemble d'éléments ; tous les types de connexions (par exemple par modem, câble, xDSL, Uaison speciaUsée, entre autres) et tous les débits peuvent être supportés par les éléments du système.
La traçabilité rendue possible par ce procédé permet quant à eUe d'apporter une transparence exceptionneUe sur le déroulement de tout processus mettant en oeuvre le système selon l'invention.

Claims

REVENDICATIONS
1. Système pour la distribution dynamique de données et/ ou de services, caractérisé en ce qu'U comporte essentieUement: - un serveur (1), et éventueUement des serveurs fUs (6); au moins un agent (7), résident ou apte à devenir résident sur un terminal utilisateur, et apte à être mis en communication avec le serveur (1) et/ou au moins un logiciel serveur fUs (6); et au moins une couche de communication (18) apte à véhiculer des appels de méthodes distantes sur des objets situés sur un serveur
(1) et/ou un serveur fUs (6), et à mettre en oeuvre au moins un protocole de communication (5) apte à assurer un Uen interactif entre un serveur (1,6) et des agents (7), tandis que ledit protocole comporte: - des moyens le rendant apte à produire et gérer des communications entre au moins un agent et l'IRC, notamment par le biais de messages XML; des moyens pour appeler une méthode distante par lecture /écriture d'objets de types respectivement ObjectRequest ou ObjetRequête et ObjectResponse ou ObjetRéponse.
2. Système selon la revendication 1, caractérisé en ce que le ou les serveurs et les agents sont construits selon la même architecture, sur la base d'un "framework", complété par des ajouts dynamiques optionnels de modules.
3. Système selon la revendication 2, caractérisé en ce que les couches de base intégrées dans le serveur et dans les agents et/ ou dans les serveurs fils comportent des moyens appropriés pour assurer: la communication avec les agents, pour échanges de messages et échanges binaires, et en option, le cryptage, et/ou la compression, et/ou l'ordonnancement des tâches, et/ ou - l'accès à des bases de données externes, et/ ou des ajouts /suppressions de modules.
4. Système selon l'une quelconque des revendications 1 à 3, caractérisé en ce qu'U comporte: • des moyens pour packager ou embaUer un bien numérique (20);
• des moyens pour munir le paquet (22) d'une "étiquette électronique logicieUe" pouvant comprendre notamment les éléments suivants:
- nom, taiUe et date du paquet,
- description du contenu, - certificat électronique, etc.,
• des moyens pour déposer le paquet (22) sur un IRC (1) et pour le router automatiquement vers YIRC (23) responsable des postes finaux cibles (24,25);
• des moyens pour l'envoi par le serveur (23), dès réception du paquet, d'une notification de réception (26) au serveur émetteur (1);
• des moyens pour la récupération du paquet (22) par les agents (7) des postes finaux et pour l'envoi par les agents (7) de notifications (27,28) à leur IRC; et
• des moyens pour que les postes finaux informent réguUèrement leur ERC des opérations qu'Us effectuent sur le bien numérique; et, en option,
• des moyens pour la consignation des notifications (26,27,28) dans des bases de données et/ou pour leur remontée automatique à tous les niveaux, de préférence jusqu'au niveau du serveur principal (1) ou d'au moins un serveur fUs (6).
5. Système pour la distribution dynamique de données et/ou de services selon l'une quelconque des revendications 1 à 3, caractérisé en ce qu'U comporte des moyens de traçabiUté essentieUement constitués par: - une appUcation (21) assurant le packaging d'un bien numérique
(20) pour constituer un paquet (22) et l'allocation à celui-ci d'une étiquette électronique logicieUe; des moyens pour le dépôt dudit bien numérique sur un IRC (1); des moyens pour le routage du dit bien numérique selon un protocole (5) vers l'IRC (23) responsable de postes finaux cibles (24,25); des moyens de fourniture d'au moins une notification relative au paquet (22) et d'envoi de ceUe-ci au serveur émetteur (1,6).
6. Système selon la revendication 5, caractérisé en ce qu'U comporte des moyens pour l'envoi de notifications (27,28) par les agents (7) des postes finaux, qui utilisent le paquet reçu (22), à leur IRC.
7. Système selon l'une des revendications 2 ou 3, caractérisé en ce que les modules sont choisis parmi des modules du type visant à permettre le déploiement d'appUcations, la surveiUance de machines, la maintenance à distance, la téléconfiguration d'un poste de travaU informatisé, la télémaintenance de progiciels et/ou la sauvegarde des données utilisateur.
8. Système selon l'une quelconque des revendications 1 à 7, caractérisé en ce que le logiciel serveur est en langage Java.
9. Système selon l'une quelconque des revendications 1 à 8, caractérisé en ce que l'implémentation de l'agent pour le système d'exploitation d'un terminal connecté est effectuée en langage Java, C ou C++.
10. Procédé pour la distribution dynamique de données et/ ou de services, caractérisé en ce qu'il comporte essentieUement les étapes consistant à: procurer au moins un agent, c'est-à-dire un support de programme, qui peut être acquis en tant que tel ou formaté et chargé à partir d'un site Internet; - instaUer un tel agent, pour qu'U devienne résident sur la machine de l'utilisateur; effectuer la souscription de rutilisateur aux services proposés par un serveur (IRC) et/ ou des serveurs fUs, directement depuis l'interface de l'agent, aussi bien pour des services locaux que pour des services pubUcs, et aussi bien pour des services payants que pour des services gratuits; effectuer l'inscription à ces services, avec corrélativement chargement ou téléchargement automatique des composants nécessaires à leur activation, et en option, effectuer l'intégration par forçage de services fournis automatiquement.
11. Procédé selon la revendication 10, caractérisé en ce qu'U met en oeuvre un protocole dont les étapes essentieUes consistent à: produire et gérer des communications entre au moins un agent et le serveur et/ ou un serveur fUs, notamment par le biais de messages XML; appeler au moins une méthode distante par lecture /écriture d'objets de types respectivement ObjectRequest, ou ObjetRequête, et ObjectResponse, ou ObjetRéponse, avantageusement au moyen ά'x stub et d'un skeleton.
12. Procédé selon l'une des revendications 10 ou 11, caractérisé en ce qu'U comporte les étapes suivantes:
• packaging ou embaUage d'un bien numérique (20);
• fourniture au paquet (22) d'une "étiquette électronique logicieUe" pouvant comprendre notamment les éléments suivants: nom, taUle et date du paquet, - description du contenu, certificat électronique, etc.,
• dépôt du paquet (22) sur un IRC (1) et routage du paquet (22) automatiquement vers l'IRC (23) responsable des postes finaux cibles (24,25); • envoi par le serveur (23), dès réception du paquet, d'une notification de réception (26) au serveur émetteur (1);
• utilisation du paquet (22) reçu par les agents (7) des postes finaux et envoi par les agents (7) de notifications (27,28) à leur IRC; et
• information régulière de leur IRC par les postes finaux des opérations qu'Us effectuent sur le bien numérique; et, en option, • consignation des notifications (26,27,28) dans des bases de données et/ ou remontée automatique des dites notifications à tous les niveaux, de préférence jusqu'au niveau du serveur principal (1) ou d'au moins un serveur fUs (6).
13. Procédé selon la revendication 12, caractérisé en ce qu'U comporte en outre les étapes selon lesqueUes: les postes finaux informent leur B C (1,6) des opérations qu'Us effectuent sur le bien numérique (20), et/ ou - les notifications sont consignées dans des bases de données et automatiquement remontées à tous les niveaux, de préférence jusqu'au niveau du serveur principal (1) ou d'au moins un serveur fUs (6).
14. Utilisation du système selon l'une quelconque des revendications 1 à 9 pour la distribution d'appUcations et/ ou de services à des utilisateurs distants connectés, sur tous types de réseaux et d'architectures distribuées, notamment pour le déploiement d'appUcations, la surveiUance de machines, la maintenance à distance, la téléconfiguration d'un poste de travaU informatisé, la télémaintenance de progiciels et/ ou la sauvegarde des données utilisateur.
15. Utilisation du procédé selon l'une quelconque des revendications 10 à 13 pour la distribution d'appUcations et/ou de services à des utilisateurs distants connectés, sur tous types de réseaux et d'architectures distribuées, notamment pour le déploiement d'appUcations, la surveiUance de machines, la maintenance à distance, la téléconfiguration d'un poste de travaU informatisé, la télémaintenance de progiciels et/ ou la sauvegarde des données utilisateur.
PCT/FR2002/001365 2001-04-23 2002-04-22 Système et procédé pour la distribution dynamique de données et/ou de services WO2002087191A2 (fr)

Priority Applications (7)

Application Number Priority Date Filing Date Title
EP02735470A EP1384368A2 (fr) 2001-04-23 2002-04-22 Syst me et proc d pour la distribution dynamique de donn es et/ou de services
IL15847602A IL158476A0 (en) 2001-04-23 2002-04-22 System and method for dynamic distribution of data and/or services
CA002449260A CA2449260A1 (fr) 2001-04-23 2002-04-22 Systeme et procede pour la distribution dynamique de donnees et/ou de services
US10/475,556 US20040139147A1 (en) 2001-04-23 2002-04-22 System and method for the dynamic distribution of data and/or services
JP2002584573A JP2004535626A (ja) 2001-04-23 2002-04-22 データおよび/またはサービスのダイナミックな配信のためのシステムおよび方法
AU2002310707A AU2002310707B2 (en) 2001-04-23 2002-04-22 System and method for dynamic distribution of data and/or services
IL158476A IL158476A (en) 2001-04-23 2003-10-19 System and method for dynamic distribution of data and/or services

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0105464A FR2823932B1 (fr) 2001-04-23 2001-04-23 Systeme et procede pour la distribution dynamique de donnees et/ou de services
FR01/05464 2001-04-23

Publications (2)

Publication Number Publication Date
WO2002087191A2 true WO2002087191A2 (fr) 2002-10-31
WO2002087191A3 WO2002087191A3 (fr) 2003-01-03

Family

ID=8862604

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2002/001365 WO2002087191A2 (fr) 2001-04-23 2002-04-22 Système et procédé pour la distribution dynamique de données et/ou de services

Country Status (9)

Country Link
US (1) US20040139147A1 (fr)
EP (1) EP1384368A2 (fr)
JP (1) JP2004535626A (fr)
CN (1) CN1520671A (fr)
AU (1) AU2002310707B2 (fr)
CA (1) CA2449260A1 (fr)
FR (1) FR2823932B1 (fr)
IL (2) IL158476A0 (fr)
WO (1) WO2002087191A2 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102053584A (zh) * 2009-11-06 2011-05-11 中石油北京天然气管道有限公司 一种油气管道自控智能设备远程维护授权管理方法
CN102118353A (zh) * 2009-12-30 2011-07-06 上海可鲁系统软件有限公司 一种工业互联网远程维护系统的指令安全审计方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080313282A1 (en) 2002-09-10 2008-12-18 Warila Bruce W User interface, operating system and architecture
US7089548B2 (en) * 2003-01-13 2006-08-08 Taiwan Semiconductor Manufacturing Company, Ltd. Method and system for nondisruptive deployment during upgrading of enterprise systems
US20050132120A1 (en) * 2003-12-15 2005-06-16 Vasu Vijay Nomadic digital asset retrieval system
DE102004011201B4 (de) * 2004-03-04 2006-10-12 Siemens Ag Verfahren zum Management und zur Überwachung des Betriebs mehrerer in wenigstens ein Kommunikationsnetz eingebundener verteilter Hard- und/oder Softwaresysteme sowie System zur Durchführung des Verfahrens
US8214461B1 (en) * 2004-11-23 2012-07-03 Hewlett-Packard Development Company, L.P. Method of processing request by server computer system
US8726282B1 (en) 2006-05-01 2014-05-13 Open Invention Network, Llc Job scheduler for remote maintenance of servers and workstations
US8866625B2 (en) * 2008-05-19 2014-10-21 Swiss Reinsurance Company Ltd. System and method for the aggregation and communicating of process metadata of heterogeneous production process chains
CN101282333B (zh) * 2008-05-22 2012-09-05 上海交通大学 分布式多协议代理与中心系统消息交换的方法
US8407506B2 (en) * 2011-03-30 2013-03-26 Symbol Technologies, Inc. Dynamic allocation of processor cores running an operating system
US20140380300A1 (en) * 2013-06-25 2014-12-25 Bank Of America Corporation Dynamic configuration framework
EP3539016B1 (fr) 2016-11-10 2022-11-09 Hewlett-Packard Development Company, L.P. Identifiant de traçabilité
EP3832464A1 (fr) * 2019-12-06 2021-06-09 Tata Consultancy Services Limited Système et procédé de sélection de fournisseurs de services cloud dans un multi-cloud
CN113467953B (zh) * 2021-07-16 2023-08-04 腾讯科技(深圳)有限公司 服务状态的切换方法、装置、服务器及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5862325A (en) * 1996-02-29 1999-01-19 Intermind Corporation Computer-based communication system and method using metadata defining a control structure
WO2001024003A1 (fr) * 1999-09-28 2001-04-05 Datalex Usa West, Inc Structure composant logiciel-conteneur pour le deploiement dynamique de composants de logique commerciale dans un environnement objet reparti

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2196622C (fr) * 1996-02-06 2001-10-16 Hiroshi Jinzenji Systeme de distribution de donnees dans un reseau
US5673316A (en) * 1996-03-29 1997-09-30 International Business Machines Corporation Creation and distribution of cryptographic envelope
US5809251A (en) * 1996-10-09 1998-09-15 Hewlett-Packard Company Remote installation of software by a management information system into a remote computer
US6286033B1 (en) * 2000-04-28 2001-09-04 Genesys Telecommunications Laboratories, Inc. Method and apparatus for distributing computer integrated telephony (CTI) scripts using extensible mark-up language (XML) for mixed platform distribution and third party manipulation
US6292827B1 (en) * 1997-06-20 2001-09-18 Shore Technologies (1999) Inc. Information transfer systems and method with dynamic distribution of data, control and management of information
US6075943A (en) * 1997-08-13 2000-06-13 International Business Machines Corporation System and method for client server software installation
US6081840A (en) * 1997-10-14 2000-06-27 Zhao; Yan Two-level content distribution system
US6141759A (en) * 1997-12-10 2000-10-31 Bmc Software, Inc. System and architecture for distributing, monitoring, and managing information requests on a computer network
US6615212B1 (en) * 1999-08-19 2003-09-02 International Business Machines Corporation Dynamically provided content processor for transcoded data types at intermediate stages of transcoding process
US6742023B1 (en) * 2000-04-28 2004-05-25 Roxio, Inc. Use-sensitive distribution of data files between users
GB0017336D0 (en) * 2000-07-15 2000-08-30 Ibm Preferable modes of software package deployment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5862325A (en) * 1996-02-29 1999-01-19 Intermind Corporation Computer-based communication system and method using metadata defining a control structure
WO2001024003A1 (fr) * 1999-09-28 2001-04-05 Datalex Usa West, Inc Structure composant logiciel-conteneur pour le deploiement dynamique de composants de logique commerciale dans un environnement objet reparti

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ACTON D ET AL: "A development framework for building fine-grained CORBAapplications" ENTERPRISE DISTRIBUTED OBJECT COMPUTING WORKSHOP, 1998. EDOC '98. PROCEEDINGS. SECOND INTERNATIONAL LA JOLLA, CA, USA 3-5 NOV. 1998, NEW YORK, NY, USA,IEEE, US, 3 novembre 1998 (1998-11-03), pages 183-193, XP010309721 ISBN: 0-7803-5158-4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102053584A (zh) * 2009-11-06 2011-05-11 中石油北京天然气管道有限公司 一种油气管道自控智能设备远程维护授权管理方法
CN102118353A (zh) * 2009-12-30 2011-07-06 上海可鲁系统软件有限公司 一种工业互联网远程维护系统的指令安全审计方法

Also Published As

Publication number Publication date
CN1520671A (zh) 2004-08-11
IL158476A0 (en) 2004-05-12
JP2004535626A (ja) 2004-11-25
AU2002310707B2 (en) 2008-01-17
IL158476A (en) 2009-09-01
FR2823932B1 (fr) 2003-06-27
EP1384368A2 (fr) 2004-01-28
CA2449260A1 (fr) 2002-10-31
US20040139147A1 (en) 2004-07-15
WO2002087191A3 (fr) 2003-01-03
FR2823932A1 (fr) 2002-10-25

Similar Documents

Publication Publication Date Title
WO2002087191A2 (fr) Système et procédé pour la distribution dynamique de données et/ou de services
US8677460B2 (en) File transfer system
US9686259B2 (en) System and method for efficient replication of and access to application specific environments and data
CA2791909C (fr) Livraison de support code
EP0793171B1 (fr) Système de configuration de logiciels préconfigurés sur des systèmes ouverts en réseau dans un environnement distribué et procédé mis en oeuvre par un tel système
EP0615196A1 (fr) Dispositif de communication entre au moins un client et au moins un serveur procédé d'utilisation du dispositif et utilisation du dispositif
WO2009055182A1 (fr) Système et procédé de transfert automatique de données d'un dispositif à un autre
FR2886494A1 (fr) Procede et dispositif d'echange de donnees entre des stations mobiles dans un reseau pair a pair
WO2006027495A1 (fr) Protection et controle de diffusion de contenus sur reseaux de telecommunications
FR3006527A1 (fr) Migration de composants applicatifs
FR2880489A1 (fr) Dispositif de connexion automatique au reseau internet.
FR3006528A1 (fr) Systeme et procede de supervision de communication entre composants applicatifs
CA2907529A1 (fr) Optimisation de modules informatiques pour le deploiement d'un service informatique
EP3991392A1 (fr) Procede de gestion d'une communication entre terminaux dans un reseau de communication, et dispositifs et systeme pour la mise en oeuvre du procede
WO2011070241A1 (fr) Procede de sauvegarde de donnees contenues dans un terminal communiquant portable
FR3061334A1 (fr) Methode et systeme de collecte de documents numeriques a partir d’une pluralite de sources
WO2005031620A2 (fr) Procede d’enquete electronique
FR3024315A1 (fr) Systeme et procede de mise a disposition de fichiers informatiques.
FR3128840A1 (fr) Supervision du fonctionnement d’un service de transmission de données mis en œuvre selon au moins deux technologies différentes
WO2002062017A1 (fr) Procede de transfert de donnees entre un appareil de service et un serveur de gestiona distance
EP2347367A1 (fr) Plate-forme de reseau informatique
WO2003015433A1 (fr) Procede pour transferer des donnees personnalisees dans un appareil de service
WO2001003025A1 (fr) Installation de transmission interactive de donnees multimedia
FR2984560A1 (fr) Procede de gestion d'un document enrichi
FR2867292A1 (fr) Procede d'impression d'images numeriques et systeme de mise en oeuvre de ce procede.

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 158476

Country of ref document: IL

WWE Wipo information: entry into national phase

Ref document number: 10475556

Country of ref document: US

Ref document number: 2002584573

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 01508/KOLNP/2003

Country of ref document: IN

Ref document number: 1508/KOLNP/2003

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 2002310707

Country of ref document: AU

WWE Wipo information: entry into national phase

Ref document number: 2002735470

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2449260

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 028126165

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2002735470

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642