WO2004051509A1 - Selection de donnees en vue de synchronisation et de configuration de logiciel - Google Patents
Selection de donnees en vue de synchronisation et de configuration de logiciel Download PDFInfo
- Publication number
- WO2004051509A1 WO2004051509A1 PCT/FI2002/000986 FI0200986W WO2004051509A1 WO 2004051509 A1 WO2004051509 A1 WO 2004051509A1 FI 0200986 W FI0200986 W FI 0200986W WO 2004051509 A1 WO2004051509 A1 WO 2004051509A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- software
- data items
- user data
- data item
- utility
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
Definitions
- the invention relates to selecting data for synchronization and for software configuration.
- Data synchronization is an operation in which a correspondence is provided between at least two data collections to the effect that, after the synchronization, the data items of the data collections substantially correspond to each other.
- SyncML Synchronization Mark-up Language
- XML Extensible Mark- up Language
- a SyncML synchronization protocol employing messages of SyncML format allows the data of any application to be synchronized between any networked terminals.
- the SyncML synchronization protocol functions both in wireless and in fixed networks and supports a plural number of transmission protocols.
- SyncML provides both a synchronization protocol and a data representation protocol.
- data carrying non-executable user data also data carrying software components can be downloaded or synchronized to a data terminal.
- data carrying software components can be downloaded or synchronized to a data terminal.
- Some applications enable to download an update allowing a file of an unsupported file format to be opened.
- wireless data transmission technologies have advanced, it is also possible to download new software components into wireless data terminals.
- the radio bandwidth is, however, limited and software updates via the air interface can be expensive.
- the user typically needs to know the already existing software components and select the correct update or plug-in to be downloaded. A lot of unnecessary or incompatible software data may be transferred to the terminal, burdening the terminal resources and causing transmission expenses.
- Metadata between user data items and software data items is maintained.
- the utility of at least one user data item is determined on the basis of the properties of one or more software data items related to the user data item in the metadata.
- the user data item and one or more software data items related thereto are selected to the data set for synchronization in response to the utility of the user data item meeting a predetermined criterion.
- This enables to take into account the properties of the software related to the user data item when deciding whether to select the user data item for synchronization. Since useful data items and related software data items can be automatically selected for synchronization, the user does not need to separately define or restrict the user data items or the software data items to be synchronized, which provides improved usability. As only useful user data items and software data items are selected for synchronization, the restricted terminal resources and the limited bandwidth available in wireless data transmission can be more efficiently utilized.
- At least one user data item is selected and the utility of the user data item is determined on the basis of the properties of one or more software data items related to the user data item in the maintained metadata.
- the software data items related to the user data item are selected for the data terminal in response to the utility of the user data item meeting at least one predetermined criterion.
- Such adaptive software configuration is especially useful in wireless devices having limited memory as, according to one embodiment, the size of the related software components can be considered when determining whether to download the user data item and the related software to the client data terminal.
- the user data item whose utility is determined may already be present in the data terminal or it may be transferred to the data terminal along with the software data items.
- the term 'software data item' refers to an executable software data item or a non-executable software data item.
- the term 'executable software data item' refers generally to any data item carrying an executable program code.
- Non-executable software data item refers generally to any data item which increases the usefulness of an application or which is obligatory for the application but does not contain an executable program code.
- One or more executable software data items may form a software component, for instance a new application or a plug-in program for the terminal.
- Non-executable software data items include for example a database (not subject to separate synchronization, e.g. a dictionary), configuration files, clipart library etc.
- the term 'user data item' refers generally to any data item which is not a software data item.
- a user data item carries non-executable data to be processed by some application, for instance a calendar entry or an email message or a part thereof.
- Utility expresses the usefulness of a data item associated with an initial data item in the metadata, either directly or over a link through other data items, provided that the initial data unit has been selected.
- Utility can thus be a property of either a data item or of a link between data items.
- a combination is also possible, so that the used utility value is calculated from a value attached to the data item and a value attached to the relationship (e.g. by adding or multiplying the values).
- Utility can be thought of as added value obtained by a related data item, or, on the other hand, as a loss, if the data item is not available even if it were needed.
- the size of the one or more software data items related to the user data item is calculated and the utility of the user data item is determined on the basis of the size of the related software data items.
- At least some of the related software data items are associated with compatibility information and the compatibility information is compared with the properties of the data terminal to which the software data items are to be transferred. Incompatible software data items are excluded from the selection. This embodiment further improves the appropriateness of the selection of software data.
- Figure 1 is a general view of a data system in which the data of the data collections can be synchronized
- Figure 2 is a metadata graph
- Figure 3 shows a path illustrating the relationships between data items
- Figure 4 is a flow diagram illustrating adaptive selection of data to be synchronized
- Figure 5 is a flow diagram illustrating another method for adaptive selection of data to be synchronized
- Figure 6 shows an initial data set and adjacent data items associated with it
- Figure 7 illustrates an example relationship scenario for a word processing file
- Figure 8 is a flow diagram illustrating the determination of utility according to a preferred embodiment of the invention.
- Figure 9 is a flow diagram illustrating a software downloading method according to a preferred embodiment of the invention.
- Figure 1 illustrates a networked data system, in which data comprised in separate databases DB and terminals TE can be synchronized.
- the terminal TE is a Client Device, and it is typically a portable computer, PDA device, mobile station or pager, and a synchronization server S is a server, typically serving a plurality of client devices.
- the synchronization server is not restricted to any particular equipment type; unlike in the example described, a terminal can also function as a synchronization server.
- Figure 1 shows two examples, the first one of which comprises terminals TE, databases DB and synchronization servers S connected to a Local Area Network LAN.
- a terminal TE connected to the network LAN comprises a functionality, such as a network card and software controlling data transmission, for communicating with the devices in the network LAN.
- the local area network LAN may be a local area network of any type, and the TE may communicate with the server S also over the Internet, typically through a firewall FW.
- the terminal TE, synchronization server S and databases DB are connected to a wireless network WNW.
- the terminal TE connected to the network WNW comprises a mobile communications functionality for wireless communication with the network WNW.
- the wireless network WNW may be any already known or future wireless network, such as a network supporting a GSM service, a network supporting a GPRS service (General Packet Radio Service), a third generation mobile communications network, such as a UMTS network (Universal Mobile Telecommunications System), a wireless local area network WLAN, or a private network.
- the server S may also comprise a database DB, although in Figure 1 the servers S and the databases DB are separate, for the sake of clarity.
- the terminals TE in wired networks LAN and wireless networks WNW
- the servers S comprise memory MEM; SMEM, a user interface Ul; SUI, I/O means I/O; Sl/O for arranging data transmission, and a Central Processing Item CPU; SCPU comprising one or more processors.
- Data items are to be synchronized may be stored in the TE memory MEM (which, from the point of view of synchronization, may be a database to be synchronized), the database DB memory, as well as the server S memory SMEM.
- the terminal TE and the synchronization server S execute the inventive means, some embodiments of which are shown in Figures 4, 5, 8 and 9.
- the computer programs may be obtained through a network and/or they may be stored in memory means, such as a disc, CD-ROM disc or other external memory means from which they can be loaded into the memory MEM; SMEM.
- Hardware solutions or a combination of hardware and software can also be used.
- FIG. 2 shows an example of a metadata graph.
- the nodes in the graph represent the data items and the links depicted by arrows illustrate the relationships between the data items.
- Each link is assigned at least one value expressing how closely the target node is associated with the source node (the closeness of the relationship).
- the metadata graph is preferably a directional network.
- relationships between different types of data items (depicted in different shapes) are also preferably determined.
- a thicker link is used in Figure 2 to denote a close relationship between the data items, whereas a thinner link is used for a remote relationship.
- the data items may be user data items and/or software data items and the metadata graph describes relationships from a user data item to one or more software data items or relationships from a software data item to one or more other software data items.
- a simple metadata graph could comprise for example an attachment file of an electronic mail data item linked with one or more software data items of an application required to open the attachment.
- the linked software data item may be e.g. an installation program for the required application.
- Synchronization requires the determining of an initial data set the data items of which are at least to be synchronized.
- the metadata links allow paths from the initial data set to another data item to be determined.
- Figure 3 illustrates paths from initial data item A to data item B.
- the data items may be user data items and/or software data items.
- the relationship between the data items is denoted by relevance and utility. Relevance is a value representing the probability that the user will need a data item associated with an initial data item, either directly or through other data items, provided that the initial data item has been selected.
- relevance is denoted by r/.
- Utility expresses the utility of a data item associated with an initial data item in the metadata, either directly or over a link through other data items, provided that the initial data item has been selected. Utility can be thought of as added value obtained by a related data item, or, on the other hand, as a loss, if the data item is not available even if it were needed.
- Utility is shown by u/, each link between A and B being provided with a relevance value r/ " and a utility value u/.
- the initial data item A and the related data item B may be connected by several paths. The different paths represent different reasons why a user who needs the initial data item A might also need the software data item B.
- the relevance of B to A is the product of the relevance values assigned to the data items along the path.
- B's utility to A is determined by the utility value of the last link, i.e. utility through path p1 is u2 and through path p2 it is u5.
- Gained Utility g is the utility of the software data items that the user would really request. Since the user's actions cannot be known in advance, gained utility is a random variable and therefore has a distribution and expected value.
- the closeness of the relationship between the data items A and B i.e. the importance of the data item B in the selection of data item A, can be defined by calculating an Expected Gained Utility E(g) value.
- the gained utility obtained with the data item B can be determined in the form of the maximum utility of the paths (max(u2,u5). It is also possible to use the utility of an individual path or the combined utilities of different paths as the utility to be gained by data item selection.
- the expected gained utility E(g) is preferably calculated by taking into account both paths p1 , p2, whereby the following is obtained:
- E(g) u2 * P(p1) * (1- P(p2)) + u5 *P(p2) *(1- P(p1)) + max(u2,u5) *P(p1) *P(p2).
- the expected gained utility E(g) represents the probability of a data item being needed for some reason.
- E(g) is
- a comparison of the expected gained utility E(g) values of related data items allows the data items comprising the highest values to be selected, in addition to the initial data items, into the selection data set that is to be synchronized.
- the metadata can be collected by applying a minimum spanning tree method or by means of content analysis, for example. To optimize the processing resources and the time required, deviations from the above calculation method can be made. For example, the number of paths to be taken into consideration can be restricted to only comprise direct links, in which case path length is one. Methods for restricting the number of the paths to be taken into account include Dijkstra's minimum path algorithm and Kruskal's algorithm.
- a special case of a metadata link is a dependency (link), which describes a situation where another data item is needed in order for a data item to be useful.
- a dependency which describes a situation where another data item is needed in order for a data item to be useful.
- the relationship between an application and a library the application uses is often a dependency, since the application cannot be used if the library is not available.
- a dependency requires special handling because the utility of a data item A (e.g. an application) can be achieved only if all the data items D1 , D2, ... Dn, (e.g. libraries used by the application) to which there is a dependency link from A , are available.
- D1 , D2, ... Dn must also be selected, otherwise selecting A is useless (and thus A should not be selected either).
- dependency link An example of a dependency link is given in Figure 7, where there is e.g. a dependency link from a Word document (a project plan) to a Word application (dependency links are marked with thicker arrows in the figure). If there is no application that can be used to read the document, the document is useless. Thus the link is a dependency.
- FIG. 4 illustrates one possible method for adaptive selection of data to be synchronized.
- Metadata comprising relevance and utility information are collected 401 into the system as described above.
- the metadata can be maintained in the memory MEM, SMEM in data structures, in the application executing the method, or in the application input data. Metadata can also be loaded from network databases, through the Internet, for example.
- To the metadata is added a new initial data item that is to be synchronized, the related software data items and utility and relevance values illustrating the relationships between them.
- general rules are used, such as: the relevance value on a link from any electronic mail item to any related word processing application file is always 0.7.
- the metadata is application- specific. In that case, new metadata needed for selecting data items for a new application are added for example to application-specific directories in the synchronizing device (TE, S).
- the metadata determines the relationships between electronic mail data items synchronized by an e-mail application, for example.
- the metadata from which the relationships between the data items are to be fetched are selected according to the application employed.
- Application-specific metadata can also be used for influencing the relationships between the data items of different applications by applying different relevance and/or utility values to the links between them.
- a link from an electronic mail item to a word processing file has a higher relevance value than a link from a calendar entry to a word processing file.
- Application-specific metadata can also be used in a table format, for example, in which the relevance and/or utility values between different applications are given.
- Metadata can be modified according to the purpose of use, and, in addition, different metadata can be used in different situations, i.e. for different synchronization contexts. For example, when a person is leaving for a business trip, the relevance of business card data items is higher than when s/he is leaving for a holiday trip. Metadata can be arranged for use in different synchronization contexts by applying different application- or device-level user profiles, similarly as user profiles arranged at mobile stations. Profile-specific metadata may be stored for the different profiles; it is also possible to modify the metadata or to select the data items to be synchronized on the basis of different criteria in different situations. Typical synchronization contexts include a general context, business trip, holiday trip, reading of electric mail messages and meetings.
- data is synchronized with the user's terminal TE such that the business cards of those participating in the meeting form the initial data set and they are provided with links of high relevance values to the electronic mail messages last sent by the participants.
- the user also has the possibility to influence the metadata, for example by adding new links between the data items, or to change the utility or relevance values of the links.
- a predetermined number of high-level user preferences can be defined, the metadata being automatically determined and modified according to the preferences. This could be illustrated by an example in which the user considers business cards not to be important and thus selects a low priority for them.
- the synchronization application may therefore set low relevance values for business cards. All preferences related to synchronization can be determined user-specifically, and the appropriate preferences can be selected using the user ID (the preferences can also be stored on an Integrated Circuit (IC) card, for example).
- IC Integrated Circuit
- Metadata can be collected and updated 401 by analyzing the contents of the data items. In response to changes in the data item contents, the relevance and/or utility values of the contents can be changed as well.
- One preferred embodiment is described later with Figure 8.
- Metadata updating 401 can be arranged to take place as an automatic monitoring of user actions. This means that a new data item with its relevance data can be automatically added to the metadata when the user requests for the data item in question.
- the frequency of use of the data items can be monitored and the relevance and/or utility values changed automatically on the basis of the monitoring. Relevance values can be changed on the basis of the frequency of use, and utility values on the basis of the duration of use, for example.
- the monitoring of user actions and automatic collection of metadata can be arranged by means of neural networks, for example.
- an initial data set is determined 402.
- the initial data set is preferably a pre-determined application- specific set.
- the user may also add data items to or remove them from the initial data set.
- metadata associated with the initial data items of the initial data set are retrieved 403, i.e. the links from the initial data items are defined.
- metadata can be modified 404.
- an application- or situation-specific transform function can be used for weighting different data items differently to provide synchronization profiles such as those referred to above.
- the transform function refers particularly to application- or situation-specific coefficients for the relevance and utility values of the different data items.
- the transform function is applied to the links between the data items, and the transformed relevance and utility values are then used at later stages (405).
- a time-based transform function could also be used in phase 404 or 401 e.g. to increase or decrease the relevance or utility of a data item as time passes.
- an alternative to modifying 404 metadata could be to use dynamic attribute values in metadata, so that e.g. the utility of a data item is always recalculated when needed. For example, the utility of a data item might be "3 + number of months passed since 1 January 2001".
- a high-relevance link or a short path can be preferred over long paths of low relevance. If relevance is assigned a high minimum value, the impact of high utility value can be reduced in the selection of data items.
- a minimum value set for utility allows the synchronization of data items easily obtainable by other means (and thus providing low utility), such as telephone numbers, to be prevented.
- Another possible exclusion criterion is path length, which allows data items that are too far away from the initial data set to be excluded.
- the exclusion method in step 404 allows limit values to be set, whereby expected gained utility values of all data items included in the metadata do not need to be calculated and compared. This speeds up the selection process and reduces the processing capacity needed in the equipment implementing the method.
- the minimum values applied in the exclusion can also be application-specific, in which case they vary according to the purpose of use.
- utility value of a user data item is modified in phase 404 according to the properties of software data items related thereto. This embodiment is later described in Figures 8 and 9.
- the metadata (and the modification and/or exclusion, if any, of step 404) provide related data items associated with the data items of the initial data set.
- the relevance and utility values denoted by the paths leading to the related data items are preferably used for calculating 405 expected gained utility values E(g) for them.
- the expected gained utility values obtained for the different data items are compared 406.
- the data item with the highest expected gained utility value is added 407 to the selection data set.
- the routine checks 408 whether an end criterion determined into the data system in advance is met.
- the end criterion may be, for example, exceeding the maximum size set for the data to be synchronized; exceeding the maximum number of data items; or the non-attainment of minimum expected gained utility value (i.e. there are no data items left which would exceed the minimum value of expected relevance). If the end criterion is not met, the routine proceeds by adding 407 a new data item to the selection data set.
- the criterion that is to be met is dynamically determined based on the highest (expected) utility among the utilities of other data items that are candidates for the selection data set.
- the utility of a candidate data item meets the predetermined criterion if it exceeds the highest utility among the utilities of other data items and in this case it is selected to the selection data set.
- the selection data set which typically comprises related data items defined according to the initial data set and the end criterion, is synchronized 409.
- the changes made to the selection data set since the last synchronization event can be checked and the changed data items, or at least data about the changes, can be sent to the other party involved in the synchronization.
- the relevance values can be used for selecting the data items (in the comparison 406 or as an end criterion 408).
- the data selection according to steps 401-408 described above can be carried out in one device participating in the synchronization, in some of the devices, or in all of them.
- the selection data set can be synchronized using any synchronization method.
- the synchronization may be carried out using a protocol based on the SyncML standard, although the scope of application of the invention is not restricted thereto.
- a synchronization session is first initialized in step 409 to select the database to be synchronized.
- a SyncML client device comprises a Sync Client Agent executing the SyncML protocol.
- the client agent may send the SyncML server (S) a SyncML message (Client Modifications) containing information about the changes made to the selection data set since the last message was sent.
- the SyncML server comprises a Sync Server Agent, which controls the synchronization, and a Synchronization Engine, and it usually waits for the client's initiative for the synchronization.
- the SyncML server synchronizes the data, i.e. analyses the changes made to the selection data set and harmonizes the data items (makes the necessary additions, replacements and deletions).
- the SyncML server then sends the client device a Server Modifications message which comprises the information about the changes made to the selection data set since the last synchronization message from the server S.
- a Server Modifications message which comprises the information about the changes made to the selection data set since the last synchronization message from the server S.
- the data to be synchronized can be selected during the initialization of the synchronization session.
- the TE When the TE has determined the selection data set, it sends the modifications (Client Modifications) that have taken place since the last synchronization session to the synchronization server S.
- the TE may also send additional requirements relating to the determining of the selection data set, for example that a particular data item must be included in the set, which the server S must take into account when selecting the selection data set.
- TE preferences and other data relating to adaptive synchronization may be transmitted in a Meta element and in an EMI field, for example.
- the S selects (402-408) its selection data set in a similar manner.
- the server S preferably carries out the selection such that at least the data item modifications sent by the TE are taken into account.
- the S informs the terminal TE about the selection data set it has selected prior to the synchronization. This, however, causes increased delay and adds to the amount of data to be transferred.
- the S harmonizes the data items in the selection data set it has selected on the basis of the modifications sent by the TE and those made into the database (DB) synchronized by the server S. After the harmonization, the S sends the modifications (Server Modifications) that have taken place in the selection data set since the last synchronization session to the TE.
- the TE modifies the data items in its memory MEM.
- the TE may send information about the initial data set and other preferences, if any, during the initialization to the server S, which selects the selection data set on the basis of the metadata and the initial data set.
- Figure 5 shows a method according to a second preferred embodiment of the invention in which the metadata can be used also for excluding data items of the initial data set.
- Metadata which can be updated in the above described manner and which comprises relevance and utility information, is collected 501 into the system. The relevance and utility values of the data items can be changed, even if the data items concerned were in the initial data set.
- an initial data set is determined 502.
- At least metadata associated with the initial data items of the initial data set are retrieved 503, i.e. the links between the initial data items are defined.
- the metadata may also be modified before phase 504.
- the importance of the initial data items with regard to other initial data items is calculated 504. This can be achieved experimentally by removing one data item at a time from the first data set and by determining, on the basis of the metadata, the expected gained utility value to be obtained if the removed data item is added back to the first data set.
- the expected gained utility values calculated for each initial data item are compared 505.
- the initial data item with the highest expected gained utility value is added 506 to the selection data set.
- the routine checks 507 whether the end criterion determined into the data system in advance is met.
- the end criterion may be for example the maximum size set for the data to be synchronized, the number of the initial data items, or the non-attainment of the minimum value set for the expected gained utility value. If the end criterion is not met, the routine proceeds by adding 506 the new initial data item to the selection data set. When the end criterion is met, the initial data items in the selection data set can be synchronized 508. This allows the least relevant initial data items to be removed from the initial data set.
- FIG. 5 provides an advantage in that it allows initial data items that have typically been determined in the initial data set on a relatively permanent basis to be placed into an order of relevance and only the most relevant initial data items to be synchronized.
- the functions shown in Figures 4 and 5 can also be combined, in which case the remaining initial data items are considered to provide the initial data set (step 402) and thus instead of entering step 508, the routine may proceed through step 403 to assess the relevance of the data items related to the initial data items.
- Data amount can be used as the end criterion in steps 408 and 507. In that case the size of the selection data set is always checked after a new data item has been added. When a predetermined size limit is reached, the synchronization of the selection data set may begin. According to a preferred embodiment, it is also possible to synchronize data items (or information relating to modifications made to them) one at a time, starting from the data item that is closest to the initial data item. When the predetermined maximum size limit for the data to be synchronized is reached, the synchronization is interrupted.
- the terminal TE may also send the synchronization server S a message when the maximum size limit is exceeded so that the S no longer sends data items for synchronization.
- the selection data set is selected during the synchronization, unlike in Figures 4 and 5.
- data item size is also taken into account in the comparison (steps 406 and 505). The ratio of the expected gained utility value E(g) (or the gained utility value g) to the data amount can be calculated for the data items.
- the data item having the highest E(g) per kilobyte is selected (407, 506) into the selection data set. This allows smaller data items to be preferred over larger ones. However, the comparison must be defined such that a small data item of low relevance is not preferred over a large data item of high relevance. This can be accomplished for example by applying a logarithm of data item size, instead of size, in the comparison.
- the user interface UI;SUI can also be used for inquiring the user about the need for synchronizing one or more data items (before step 409 or 508).
- This embodiment is useful when large data items are concerned and mainly when the synchronization is to be carried out with a terminal which has a very limited storage capacity.
- the above-described embodiments are typically applied at the synchronization server S, which selects the selection data set to be synchronized, and, thereby, has an effect on the amount of data to be sent to the terminal TE, which typically has relatively limited memory resources.
- the present method can also be used in the terminal TE for selecting a selection data set, the modifications made to the set being informed to the synchronization server S.
- the number of data items added to the terminal TE by the user is fairly small, and thus all new data items (or other modifications made at the terminal TE) can be easily synchronized.
- the above solution can also be used to limit the amount of data to be transmitted from the terminal TE for synchronization.
- server-to-terminal synchronization different values (relevance, utility) are preferably used in the metadata or in other criteria related to the selection of the data items than in terminal-to-server synchronization.
- the purpose may be to limit the required memory space (for the TE), whereas the aim at the terminal TE may be to save the processing resources needed for the comparison and selection of the data items.
- An embodiment of the solution of the invention provides various profiles (with different metadata or different exclusion/end criteria) for different transfer situations.
- Fast synchronization can be determined for expensive transfer links (through public mobile communications networks) to only synchronize particularly important data items.
- Full synchronization can be carried out in a local area network of a company, for example.
- Figure 6 further illustrates the initial data set and the selection data set.
- the initial data set 60 defined with a dotted line comprises four data items with links that illustrate their relationships with other data items.
- the circles in Figure 6 illustrate all data items which according to the metadata links are in some way associated with the initial data set 60.
- a dashed line 61 defines the selection data set to be synchronized, obtained by employing the method of the invention. As already described above, one data item at a time is preferably added to the selection data set 61 , the data items that are closest to the initial data items being typically the most important ones as well. It should be noted that the selection data set 61 does not comprise all the data items of the initial data set, i.e. the method illustrated in Figure 5 has been used.
- Figure 6 further shows a so-called pre-excluded set, defined with a continuous line 62.
- Expected gained utility values have been calculated for the data items in the set 62, which is selected using the exclusion of step 404.
- a data item with a too low relevance value has been left outside the set 62.
- the selection data set 61 may also comprise user data items, the selection of which does not take compatibility into consideration.
- a reference user data item which is always included in the initial data set and which has links to other data items, is added to the initial data set 60.
- the user data item itself is not a subject of synchronization, but it defines the data items that are to be taken into account when the selection data set is selected.
- the metadata may define relationships between user data items and software data items and between software data items.
- the relevance and utility of software data items may be determined and maintained in metadata for software data items as illustrated above (especially in phase 401 of Figure 4).
- Figure 7 illustrates an example of a relationship scenario for a user data item; a word processing file "Project Plan". From the word processing file "Project Plan” there is a link to a word processing application "Word Application” which refers to two applications “Document Editor” and "Document Viewer".
- virtual data items are determined in metadata describing relationships between software data items. Virtual data items represent a choice between alternative data items.
- the rounded blocks (Word Application, Document Editor, Document Viewer, Word Filter and Image Support) represent virtual items.
- a virtual data item can generally be a user data item or a software data item. The former can be used for document versioning, for example, and the latter for representing e.g.
- a virtual software data item for a word processing application might represent the choice between an editor application and a viewer application as in Figure 7
- a virtual software data item for a software library might represent a choice between different versions of the software library
- a virtual software data item for the user interface component of an application might represent a choice between a complicated, feature-rich user interface for desktop computers and a simple user interface having only basic functions for mobile terminals.
- virtual data items can be used for application selection, software management and terminal adaptation, among other things.
- a user data item is associated (preferably in the metadata) with a compatibility requirement and the alternative software data items are associated with compatibility information.
- the compatibility information is compared with the compatibility requirements when software data items are selected. This is illustrated in Figure 7, where the file “Project Plan” is considered as the initial data item, in this case user data item, and has a compatibility requirement defining the word processing application to support a version 2.0 file format or later. From a virtual software data item "Document Editor” there is a link to two possible editor files, “Core Editor v1.0” and “Core Editor v2.0", the link defining compatibility information for the files as versions 1.0 and 2.0, correspondingly.
- links may also comprise utility and/or relevance values to be used when comparing software data items and/or when determining the utility and/or relevance of the user data item "Project Plan” and the links thereto.
- Figure 8 illustrates a preferred embodiment in which the utility of a user data item is determined on the basis of the properties of one or more software data items related to the user data item in the metadata.
- a need 801 to determine utility of a user data item may arise when metadata 401 , 501 is being determined or when metadata is modified prior to selecting the selection data set to be synchronized.
- the need 801 may also exist when the software configuration of the data terminal is being evaluated.
- the metadata associated with the user data item is retrieved 802 and the related data items (virtual and/or real) are determined 803.
- one or more properties of alternative software data items under the virtual data item are compared 805. Any property or a combination of properties can be used to compare software data items. Such properties are size, compatibility information (e.g. a version number), utility and relevance. On the basis of the properties one of the alternative software data items (and the related software data items thereof) is selected 806. It should be noted that there are often further software data items under the alternative software data items and in order to decide between alternative software data items, the properties of the further software data items must be determined.
- utility is determined 807 for the user data item on the basis of the properties of the software data items related thereto.
- properties are size, compatibility information, utility and relevance of the related software data items.
- Size is a particularly good criterion; the utility of a user data item can be "penalized” if it requires a large amount of software data to be downloaded as well.
- the properties of related software items may affect the utility of the user data item in many ways. According to one embodiment, the size of the related software data items is added to the size of the user data item.
- the (combined) utility of the related software data item(s) is added to the utility of the user data item (representing how software features may increase the usefulness of a user data item). Further, the utility of the user data item may be multiplied with the (combined) utility of the related software data item(s) (representing how software features that increase the usefulness of a document may have a greater effect if the document was very useful in the first place). If the relationship between a user data item and a software data item has a relevance value, the relevance value may be used for example by multiplying the utility of the software data item with the relevance value before applying the utility of the software data item to the utility of the user data item.
- Utility may be determined as the utility value u/ ' for the links to the user data item illustrated above.
- the utility value may be entirely based on the determination illustrated in Figure 8 or some other criterion may be also taken into account, e.g. user actions.
- One way of doing this is to apply a function such as a logarithmic function to software data item sizes before they are used to modify the utility of a user data item. This further enables to enhance the probability of user data items that have burdening related software data items to become selected.
- Step 808 illustrates that the utility value based on the properties of the related software is used when deciding whether to select the user data item to be synchronized and/or, according to another aspect of the invention, whether to select the software data items related to the user data item to be added or removed.
- the user data item and one or more software data items related thereto are selected 808 to the selection data set for synchronization and/or the related software data items are selected to be added or removed in response to the utility (or utility and one or more other properties or utility combined with one or more other properties) of the user data item meeting a predetermined criterion.
- the utility value is used when calculating expected gained utility values E(g) for candidate data items.
- the criterion may change dynamically and it may be the highest expected utility among other candidate user data items. It is important to note that any other predetermined criterion and algorithm may be used to determine whether to select the user data item. There may be simply a minimum threshold value for utility, and user data items having a utility of at least the threshold value are selected. The criterion and the utility may also be used so that a maximum value not to be exceeded is defined. For instance, the criterion is met if the size of the related software data units (used for determining utility) does not exceed a predetermined value.
- the metadata of other user data items are preferably adjusted (e.g. in phases 401 , 404 or 501 ) such that the other user data units are not burdened by the software data units already synchronized.
- the utility values for further documents that are candidates for synchronization to the same terminal and require the application are adjusted to take into account that no extra software is needed.
- the utility of a user data item can be calculated dynamically at the point where it is considered for inclusion in the selection set. In that case the metadata of the software data items can be adjusted instead.
- the software data items may be provided with flags such that their size is considered to be zero when calculating the utility of another user data item.
- Yet another option would be to maintain a separate list of software items available on the terminal and disregard software items on the list. These options may be accomplished by checking the available software components of the terminal prior to synchronization and by modifying the metadata if necessary.
- the preferred embodiment of Figure 8 enables to take into account the software related to the user data item that needs to be installed when deciding whether to select the user data item to be synchronized.
- the user data item is associated (preferably in metadata) with a compatibility requirement and the alternative software data items are associated with compatibility information.
- the compatibility requirement is used in phase 805, i.e. the compatibility requirement is compared with the compatibility information associated with the alternative software data items. Only those software data items that are compatible with the user data item are considered when selecting the software data items in phase 806.
- a software data item e.g. an application
- An example of such an application is a document viewer.
- the utility value would normally be assigned when the application is made available.
- the maintainer of the software repository can in this way have an influence on how fast software spreads; assigning a high utility value will make the software spread faster.
- the utility value of an application can also be dynamically changed, depending on how users behave. If users use an application often, the utility of the application should be increased.
- the utility should be decreased if the application is used seldom or not at all.
- These changes can be applied globally or across a user type, such as corporate users, as well as individually. For example, if a specific user uses an application seldom, the application's utility for that user would be decreased, and once it is below a threshold value the application could be uninstalled as illustrated in Figure 5 (applying the method that data items remaining outside the selection data set after the end criterion has been met are automatically removed). If the maintainer does not wish to assign utility values to software data items, a low default utility value could be originally assigned to all software data items. The software data items would then slowly gain utility as people use them, or lose utility if people do not use them.
- an application that increases document utility such as an editor
- a software data item can in this manner increase the utility of an arbitrary number of user data items.
- a software data item provides the bare minimum of functionality for using the user data item
- the relevance can be determined to be 1.0. In most cases, this kind of software data item is some sort of viewer application for the user data item. If the software data item provides further functionality than the bare minimum, the link has a normal relevance value. In most cases the software data item is then some sort of editing application.
- the relevance can be set similarly as for other data items. For instance, the relevance can be based on the probability that when a document of a certain type is needed, also the extra functionality of an application for the document will be needed.
- the relevance of a software data item would normally be assigned when the software data item is made available. However, it can also be changed dynamically: If the selection process neglects to choose an application to the selection set (choosing e.g. the application with the bare minimum functionality instead), and the user then explicitly installs the application to his terminal anyway, the relevance of the application should be increased. Similarly, if the user explicitly removes an application, the relevance of the link that caused the application to be fetched to the terminal should be decreased. Similarly to utility, a low default relevance could be used if the maintainer does not wish to add relevance values for new software data items.
- Next step is to choose between the Document Editor and the Document Viewer.
- the size of the Document Editor depends on whether the Core Editor v1.0 or the Core Editor v2.0 is used. To make the choice, the sizes of both options need to be known. Since there is a dependency relation between the Core Editor v1.0 and the Word Filter, the size of the Word Filter must also be taken into account when calculating the total size effect of choosing the Core Editor v1.0. This is determined by determining the size of the Core Editor v1.0 and the size of the Word Filter. For this the Word Filter version needs to be selected. The stored condition restricts the selection to version 2.0. Also the size of the Core Editor v2.0 is determined by determining the size of the Core Editor v2.0, the size of the Word Filter v.2.0 and the size of the Image Support, of which only one version is available (Image Support v1.0).
- the editor version is selected based on size, relevance and utility values. In this example it is assumed that the Core Editor v2.0 has better utility, but the Core Editor v1.0 is smaller in size. It is also assumed that the current bandwidth is high enough and there is enough space on terminal, so the size does not matter too much: The Core Editor v2.0 is chosen (along with the Word Filter v2.0 and the Image Support v1.0).
- the size of the Document Viewer is determined similarly as that of the Document Editor, the total size effect being the size of the Core Viewer v1.0 + the size of the Word Filter v2.0 (chosen due to the stored condition) + the size of the Image Support v1.0.
- the Document Editor and the Document Viewer can be compared on the basis of size, relevance and utility: The Editor is chosen since it has better utility and since size was assumed not to be very significant in this example.
- heuristics may be used to make the software data item selection more efficient, so that the size of all related software data items need not be resolved.
- the overall utility of an application depends on the included components. For instance, it may be the sum or the product of the utility values of the included components. Since the set of the included components needs to be resolved in any case in order to find out the total size, utility can be calculated at the same time. Relevance values can also be used when calculating the overall utility of an application, e.g. by multiplying the utility of a software data item by its relevance, as shown previously in the example where the utility of document + viewer and document + editor were calculated.
- the links are equipped with a flag that enables a link to specify that the utility of this component should only be used for component selection and should not be added to the overall utility of the application.
- This flag would be used by links referring to components that do not provide real additional end-user value.
- An example of such a link is the link between the virtual software data item "Image Support” and the software data item "Image Support v1.0".
- the chosen items can be added to the selection data set to be synchronized or the properties of the chosen items are used to determine the utility of the user data item "Project Plan".
- the properties of the software data items can be used to compare them for at least two purposes: For selecting appropriate software data items to be synchronized (for example according to the methods described in Figures 4 or 5) and for determining the utility of a user data item.
- compatibility information in metadata may also be compared against terminal properties according to one embodiment.
- compatibility information of a software data item may state that it is binary compatible with a certain operating system, application programming interface or user interface platform. This information is then compared with the properties of the terminal to find out whether the software data item is compatible with the terminal or not.
- a software data item that is not compatible with the user's terminal should not be selected.
- Compatibility is not necessarily a yes/no issue, there may also be software data items whose compatibility information states e.g. that the software data item works best with a screen resolution above 128x128 pixels, but also works well for a 256x128-pixel screen. This data item could be synchronized to a terminal with a lower screen resolution, but only if there was no other alternative with better compatibility. This embodiment further improves the appropriateness of the selected data.
- Figure 9 illustrates a method for adaptively selecting software for a data terminal according to a preferred embodiment of the invention.
- phase 901 metadata on dependencies between user data items and software data items and between software data items is maintained.
- the links of the metadata may comprise utility information and relevance information.
- the metadata may further comprise compatibility requirements/information and size requirements/information, or they may be determined elsewhere.
- Phase 902 may also be carried out when the terminal TE needs a software configuration check or updating e.g. on the basis of a user request or a certain time interval (e.g.
- This phase 902 may also be initiated when a file is selected and the required software does not exist in the terminal TE, or when a user data item requiring certain software configuration is being synchronized to the terminal. Thus at least one (initial) user data item is selected in phase 902, the user data item may already be synchronized to the data terminal.
- the metadata associated with at least one user data item selected to the initial data set or referred to from a user data unit in the initial data set is retrieved 903.
- the selection data set to be synchronized is determined in phase 904 using, typically among other criteria, the utility information of the user data item that has dependencies on one or more software data items.
- the utility information of the user data item is preferably determined on the basis of the properties of the related software data items as described above with Figures 7 and 8.
- the decision whether to select the software data items for the data terminal can be carried out according to the methods illustrated in Figures 4 and 5, for example.
- the utility can be experimentally determined in order to determine whether new software needs to be downloaded to the data terminal or whether some existing software needs to be removed from the data terminal.
- Metadata or the criterion used when selecting data units to the selection data set may be tailored in many ways as already illustrated. The tailoring may be application-specific, user-specific or terminal-specific, for instance. Further, the metadata and/or the criterion may be selected or modified according to available network resources.
- the features 901-905 can be carried out in a server providing software to a data terminal or in a data terminal acquiring software from a server. These devices may be communicating using a synchronization protocol but are not limited thereto. Depending on the role of the device, either step 906 or 908 is continued after step 905.
- the data items of the selection data set are provided to be downloaded to the terminal TE.
- the user data items in the selection data set are automatically synchronized to the terminal and the related (and selected as in Figure 8 in case of alternative items) software data items are arranged to be transferred to the terminal TE.
- the user of the terminal may be inquired about this. It is also possible to examine the status of the terminal, e.g. the available memory space, and to decide on the basis of the status whether to download the software data items to the terminal.
- a request to download at least some of the data items in the selection data set is received, at least some of the data items (user data items and the related software data items) are sent 906 to the terminal TE.
- the related software data items are automatically sent 906 to the terminal without a separate request.
- the terminal sends 907 a request to the server for at least the selected software data items.
- the server responds and the data terminal receives 908 the data items and updates its software configuration.
- the metadata may be modified (as illustrated in phase 404 of Figure 4) or some data items may be excluded before the step 904.
- a time-based transform function could also be used when modifying the metadata e.g. to increase the relevance or utility of a software update as time passes and the terminal's software becomes more obsolete.
- an alternative to modifying the metadata could be to use dynamic attribute values in the metadata, so that e.g. the utility of a data item would be always recalculated when needed. For example, the utility of a data item could be "3 + number of months passed since January 1 st 2001".
- compatibility information may be compared against terminal properties also in the software downloading method illustrated in Figure 9 to find out whether a related software data item (a candidate for selection data set) is compatible with the terminal or not. If any one of the related software data items is incompatible, it is not selected for the data terminal. This comparison may be carried out already before phase 404 and the incompatible software data items can be excluded. It is also possible to carry out the comparison later. According to a still further embodiment, one or more software data items already present in the data terminal may be removed if the utility of the user data item (to which the software data items relate) does not meet the predetermined criterion and/or if the utilities of the software data items do not meet the predetermined criterion. The features illustrated in Figure 5 may be utilized in this embodiment and the assessment of the data items may be carried out periodically, for example.
- This embodiment enables efficient software configuration for the data terminal.
- some user data units may be left out of the selection data set because of some property of the software data item. For instance, an image viewer application may be so large that a first image of a certain type requiring the viewer application is not synchronized to a wireless terminal. If a second image of the same type is considered to be synchronized later, the first image should be reconsidered because now the burden of the application installation would be shared between both images. According to an embodiment, sets of potential selections are maintained in the synchronization system.
- the first user data item When a first user data item would otherwise be chosen for the selection set but is left out because of one or more properties of a related software data item, the first user data item is added to the list of potential selections for that application.
- the combined utility or the expected utility is calculated.
- the two user data items now share the burden of the application installation. If the combined (expected) utility is the largest of the current data item candidates, the software data item, the first user data item in the set of potential selections and the second user data item currently under consideration are added to the selection data set. After this the first user data item can be removed from the list of potential selections and the utility of further user data items are not burdened with the related software data items.
- This embodiment is especially useful when size is used to rule out data items, as it enables to take into account the real need of an application. Further, easy synchronization of earlier user data items that are now usable is enabled because the application required for their type is now installed. These sets of potential selections can be maintained in synchronization clients and/or servers. This embodiment can be applied with the embodiments illustrated in Figures 4, 5, 8 and 9. [0086] It is apparent to a person skilled in the art that as technology advances, the basic idea of the invention can be implemented in various ways. The invention and its embodiments are therefore not restricted to the above- described examples but they may vary within the scope of the claims.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/FI2002/000986 WO2004051509A1 (fr) | 2002-12-04 | 2002-12-04 | Selection de donnees en vue de synchronisation et de configuration de logiciel |
AU2002346774A AU2002346774A1 (en) | 2002-12-04 | 2002-12-04 | Selecting data for synchronization and for software configuration |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/FI2002/000986 WO2004051509A1 (fr) | 2002-12-04 | 2002-12-04 | Selection de donnees en vue de synchronisation et de configuration de logiciel |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2004051509A1 true WO2004051509A1 (fr) | 2004-06-17 |
Family
ID=32406108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/FI2002/000986 WO2004051509A1 (fr) | 2002-12-04 | 2002-12-04 | Selection de donnees en vue de synchronisation et de configuration de logiciel |
Country Status (2)
Country | Link |
---|---|
AU (1) | AU2002346774A1 (fr) |
WO (1) | WO2004051509A1 (fr) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006021840A1 (fr) * | 2004-08-27 | 2006-03-02 | Nokia Corporation | Systeme de selection de donnees dans une memoire de donnees sur la base de l'utilite des donnees |
EP2290910A1 (fr) * | 2009-08-27 | 2011-03-02 | Dmailer | Procédé de synchronisation duale pour un dispositif électronique mobile |
EP2302528A3 (fr) * | 2004-10-25 | 2011-04-27 | Apple Inc. | Synchronisation de plusieurs type de média entre un ordinateur et un dispositif de média |
US8365162B2 (en) | 2004-09-28 | 2013-01-29 | Capricode Oy | Method and device arrangement for managing the use profile of a terminal device |
US8793232B2 (en) | 2004-06-25 | 2014-07-29 | Apple Inc. | Methods and systems for managing data |
CN113315736A (zh) * | 2020-02-26 | 2021-08-27 | 成都鼎桥通信技术有限公司 | 一种业务进程间的数据同步方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020078075A1 (en) * | 2000-12-15 | 2002-06-20 | Colson James C. | System, method, and program product for prioritizing synchronizable data |
WO2002077860A1 (fr) * | 2001-03-26 | 2002-10-03 | Nokia Corporation | Synchronisation de donnees d'application dans un systeme de telecommunications |
US20020143782A1 (en) * | 2001-03-30 | 2002-10-03 | Intertainer, Inc. | Content management system |
WO2002086758A1 (fr) * | 2001-04-25 | 2002-10-31 | Nokia Corporation | Synchronisation des donnees d'une base de donnees |
WO2002093427A1 (fr) * | 2001-05-11 | 2002-11-21 | Telefonaktiebolaget Lm Ericsson | Presentation multimedia |
EP1267283A2 (fr) * | 2001-06-15 | 2002-12-18 | Nokia Corporation | Sélection de données à synchroniser |
-
2002
- 2002-12-04 WO PCT/FI2002/000986 patent/WO2004051509A1/fr not_active Application Discontinuation
- 2002-12-04 AU AU2002346774A patent/AU2002346774A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020078075A1 (en) * | 2000-12-15 | 2002-06-20 | Colson James C. | System, method, and program product for prioritizing synchronizable data |
WO2002077860A1 (fr) * | 2001-03-26 | 2002-10-03 | Nokia Corporation | Synchronisation de donnees d'application dans un systeme de telecommunications |
US20020143782A1 (en) * | 2001-03-30 | 2002-10-03 | Intertainer, Inc. | Content management system |
WO2002086758A1 (fr) * | 2001-04-25 | 2002-10-31 | Nokia Corporation | Synchronisation des donnees d'une base de donnees |
WO2002093427A1 (fr) * | 2001-05-11 | 2002-11-21 | Telefonaktiebolaget Lm Ericsson | Presentation multimedia |
EP1267283A2 (fr) * | 2001-06-15 | 2002-12-18 | Nokia Corporation | Sélection de données à synchroniser |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8793232B2 (en) | 2004-06-25 | 2014-07-29 | Apple Inc. | Methods and systems for managing data |
US9317515B2 (en) | 2004-06-25 | 2016-04-19 | Apple Inc. | Methods and systems for managing data |
US10706010B2 (en) | 2004-06-25 | 2020-07-07 | Apple Inc. | Methods and systems for managing data |
WO2006021840A1 (fr) * | 2004-08-27 | 2006-03-02 | Nokia Corporation | Systeme de selection de donnees dans une memoire de donnees sur la base de l'utilite des donnees |
KR100914895B1 (ko) * | 2004-08-27 | 2009-08-31 | 노키아 코포레이션 | 데이터의 유틸리티를 기반으로 하여 데이터 저장소로부터 데이터를 선택하는 시스템 |
US8365162B2 (en) | 2004-09-28 | 2013-01-29 | Capricode Oy | Method and device arrangement for managing the use profile of a terminal device |
US9477459B2 (en) | 2004-09-28 | 2016-10-25 | Capricode Oy | Method and device arrangement for managing the use profile of a terminal device |
EP2302528A3 (fr) * | 2004-10-25 | 2011-04-27 | Apple Inc. | Synchronisation de plusieurs type de média entre un ordinateur et un dispositif de média |
EP2290910A1 (fr) * | 2009-08-27 | 2011-03-02 | Dmailer | Procédé de synchronisation duale pour un dispositif électronique mobile |
FR2949584A1 (fr) * | 2009-08-27 | 2011-03-04 | Dmailer | Procede de synchronisation duale pour un dispositif electronique mobile |
CN113315736A (zh) * | 2020-02-26 | 2021-08-27 | 成都鼎桥通信技术有限公司 | 一种业务进程间的数据同步方法和装置 |
CN113315736B (zh) * | 2020-02-26 | 2022-09-23 | 成都鼎桥通信技术有限公司 | 一种业务进程间的数据同步方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
AU2002346774A1 (en) | 2004-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7320011B2 (en) | Selecting data for synchronization and for software configuration | |
US20030028554A1 (en) | Selecting data for synchronization | |
US9298747B2 (en) | Deployable, consistent, and extensible computing environment platform | |
US9864597B1 (en) | Systems and methods for providing software updates | |
US7552265B2 (en) | System and method for providing context information | |
US8819194B2 (en) | System for an open architecture deployment platform with centralized synchronization | |
US8448160B2 (en) | Application programming interface for identifying, downloading and installing applicable software updates | |
KR100368348B1 (ko) | e-메일의 첨부 화일 배포 방법, 서버 및 기록 매체 | |
EP1500228B1 (fr) | Procede et dispositif de gestion d'echange de donnees en arborescence | |
EP2249250A2 (fr) | Interface d'utilisateur en couches | |
US8086584B2 (en) | Identifying automounted file system resources | |
EP1127321A1 (fr) | Systeme et procede d'actualisation d'une base de donnees eloignee dans un reseau | |
US7143405B2 (en) | Methods and arrangements for managing devices | |
US20050058138A1 (en) | Communications management system | |
US20020091720A1 (en) | Methods and arrangements for providing improved software version control in managed devices | |
KR100438698B1 (ko) | 자바어플리케이션간의 커뮤니케이션을 이용한자바어플리케이션 미들렛의 실행방법 | |
WO2009026398A1 (fr) | Distribution ciblée de fragments d'indice de recherche sur un réseau de communication sans fil | |
WO2004051509A1 (fr) | Selection de donnees en vue de synchronisation et de configuration de logiciel | |
CN111176706A (zh) | 终端升级方法、装置、电子设备及存储介质 | |
US7441252B2 (en) | Cache control device, and method and computer program for the same | |
US7979409B2 (en) | Method and system for checking availability of automounted file systems | |
KR100345966B1 (ko) | 인터넷을 이용한 데이터 통신 장비의 정보 통합 관리 및공유방법 | |
US20040139082A1 (en) | Method for minimizing a set of UDDI change records | |
CN115051981B (zh) | 一种基于Zookeeper的异步下载方法及装置 | |
CN116308151A (zh) | 一种数据处理方法及装置、设备、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 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 SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 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 BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LU MC NL PT SE SI SK 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) | ||
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
122 | Ep: pct application non-entry in european phase | ||
NENP | Non-entry into the national phase |
Ref country code: JP |
|
WWW | Wipo information: withdrawn in national office |
Country of ref document: JP |