JP5593016B2 - Prioritizing application component distribution - Google Patents
Prioritizing application component distribution Download PDFInfo
- Publication number
- JP5593016B2 JP5593016B2 JP2007520802A JP2007520802A JP5593016B2 JP 5593016 B2 JP5593016 B2 JP 5593016B2 JP 2007520802 A JP2007520802 A JP 2007520802A JP 2007520802 A JP2007520802 A JP 2007520802A JP 5593016 B2 JP5593016 B2 JP 5593016B2
- Authority
- JP
- Japan
- Prior art keywords
- client computing
- distribution
- computing devices
- application component
- event
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000009826 distribution Methods 0.000 title claims description 42
- 238000000034 method Methods 0.000 claims description 64
- 230000008569 process Effects 0.000 claims description 42
- 238000004891 communication Methods 0.000 claims description 18
- 238000009434 installation Methods 0.000 claims description 14
- 238000007726 management method Methods 0.000 claims description 12
- 238000012913 prioritisation Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012986 modification Methods 0.000 claims description 5
- 230000004048 modification Effects 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 210000003403 autonomic nervous system Anatomy 0.000 description 3
- 230000007257 malfunction Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000002567 autonomic effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/003—Arrangements for allocating sub-channels of the transmission path
- H04L5/0058—Allocation criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
Description
本発明は、アプリケーション・コンポーネント配布に関し、より具体的にはアプリケーション・コンポーネント配布の優先度設定に関する。 The present invention relates to application component distribution, and more specifically to setting priority of application component distribution.
アプリケーション・コンポーネント配布は、ソース・データ・ストアから宛先データ・ストアへのプログラム・ロジックの転送を伴う。何年も前、アプリケーション・コンポーネント配布は概して、着脱可能媒体から目的ネットワーク・ドメイン中の永続的ストレージへの1つ以上のプログラム・ファイルの複写を含んでいた。しかしながら、インターネットの成長によって容易になった世界的なコンピューティングの到来により、アプリケーション・コンポーネント配布は、いくつかのデータ通信ネットワーク上での目的データ・ストアへのアプリケーションの別々の部分の電子的転送を伴うことが多い。 Application component distribution involves the transfer of program logic from a source data store to a destination data store. Many years ago, application component distribution generally involved copying one or more program files from removable media to persistent storage in the destination network domain. However, with the advent of global computing that has been facilitated by the growth of the Internet, application component distribution has facilitated the electronic transfer of separate parts of applications to destination data stores over several data communication networks. Often accompanied.
アプリケーション・コンポーネント配布は明らかに、前もってアンインストールされたアプリケーション・コンポーネントの配布を予期している。特に、アプリケーション・コンポーネント配布は、以前のインストールのアップグレーディングおよびパッチングも予期している。原始的な形態のアップグレーディングおよびパッチングにおいて、エンド・ユーザは、アプリケーション・ロジックの指定された部分を集中データ・ストアから取り出す。アップグレーディングおよびパッチングの負担をエンド・ユーザに負わせることは、ソフトウェア・ディストリビュータおよびエンド・ユーザ双方の観点から好都合であり得る一方で、多くの状況において、アップグレーディングおよびパッチング・プロセスの開始をエンド・ユーザ頼みにすることは賢明ではない。特に、現代企業において、アプリケーション・コンポーネント配布プロセスは、情報技術者にまかせるのが最善である。 The application component distribution clearly anticipates the distribution of previously uninstalled application components. In particular, application component distribution also anticipates upgrading and patching of previous installations. In primitive forms of upgrading and patching, end users retrieve specified portions of application logic from a centralized data store. While it can be advantageous from both the software distributor and end user perspective to impose the burden of upgrading and patching in many situations, in many situations the end of the upgrade and patching process can be It is not wise to rely on the user. Especially in modern enterprises, the application component distribution process is best left to the information engineer.
この点に関して、アプリケーション・コンポーネント配布は、依然として情報技術管理の重要な側面のままである。アプリケーション・ライフサイクルの間、いくつかのイベントが、1つ以上のアプリケーション・コンポーネントのアップグレーディングまたはパッチングという結果になり得る。例としては、アプリケーションの向上および修正が含まれる。もっと最近では、設計上の欠陥およびコードの不動作または誤動作部分が、アプリケーションのパッチングを必要とする。多くの場合、設計上の欠陥には、迅速な解決を必要とする重要なセキュリティ上の意味がある。他の状況において、コードの不動作または誤動作部分は、ミッション・クリティカル(基幹的)なトランザクションを完了できないという結果になる。従って、多くの場合、アプリケーション・コンポーネント・アップグレードおよび修正を配布する作業の責任は情報技術管理にある。 In this regard, application component distribution remains an important aspect of information technology management. During the application life cycle, some events can result in the upgrade or patching of one or more application components. Examples include application improvements and modifications. More recently, design defects and code malfunctions or malfunctions require application patching. In many cases, design flaws have important security implications that require rapid resolution. In other situations, a malfunctioning or malfunctioning portion of the code results in a failure to complete a mission critical transaction. Thus, in many cases, information technology management is responsible for distributing application component upgrades and modifications.
多くの状況において、アプリケーション・コンポーネント配布は、世界中に配置された複数のファンアウト・サーバを伴う。ファンアウト・サーバのこのネットワークを介し、アプリケーション・コンポーネントのアップデートおよびパッチは、アプリケーション・コンポーネントの導入と関連した緊急性レベルにより求められるペースで配布され得る。アップデートまたはパッチを配布する緊急性がほとんどない場合、アプリケーション・コンポーネントのアップデートは、かなりの時間をかけて配布できる。対照的に、パッチまたはアップデートの導入が不可欠と考えられる場合、逆が真実になる。 In many situations, application component distribution involves multiple fanout servers located throughout the world. Through this network of fan-out servers, application component updates and patches can be distributed at a pace required by the level of urgency associated with application component deployment. If there is little urgency to distribute updates or patches, application component updates can be distributed over time. In contrast, if the introduction of a patch or update is considered essential, the converse is true.
1つ以上のアプリケーション・コンポーネントのアップデートまたはパッチを導入する緊急性に直面した場合、アプリケーション・コンポーネント・インフラストラクチャは、すべての受信者へのアップデートおよびパッチの同時導入に適応できないことがあり得る。従って、どのクライアントがパッチまたはアップデートを受け取るべきであり、どのクライアントが待機すべきかについて選択がなされなければならないことがよくある。従来、これらの選択は、ランダムにまたは手動で行われる。より小規模な企業の場合、最適な選択は手動で見積もりされ得る。しかしながら、より大規模な企業の場合、即時アップデートを必要とするクライアンおよびアップデートまたはパッチの受け取りの遅延が全く重要ではないクライアントを情報技術管理者が適切に識別することは可能ではない。 When faced with the urgency to deploy one or more application component updates or patches, the application component infrastructure may not be able to accommodate the simultaneous deployment of updates and patches to all recipients. Thus, a selection must often be made as to which clients should receive patches or updates and which clients should wait. Traditionally, these selections are made randomly or manually. For smaller companies, the best choice can be estimated manually. However, for larger enterprises, it is not possible for information technology managers to properly identify clients that require immediate updates and clients for which delays in receiving updates or patches are not at all important.
コンピューティングの新時代において、コンピューティング・システムのアセンブリおよび管理において、ある傾向が生じている。具体的には、自律型(オートノミック)コンピューティングは今日、企業レベルのコンピューティング・システムを創出および管理するための最先端の戦略を表し、コンピュータ科学の主要な挑戦を表す。有名なマニフェスト(宣言)である「Autonomic Conputing:IBM’s Perspective on the State of Information Technology」において、IBMリサーチのシニア・バイス・プレジデントであるポール・ホーン(Paul Horn)は、「それはムーアの法則(Moores‘ Law)と歩調を合わせることではなく、その長年に渡る支配の結果に対処することに関するものである。」と述べた。この所見を仮定すれば、ホーンは、生物科学の自律神経系に類似したコンピューティングを示唆した。すなわち、人の自律神経系が、人の側での意識的な努力なしで監視、調整、修復および変化する条件に応答するのに対して、自律型コンピューティング・システムにおいては、システムは、コンピューティング・システム・オペレータの側でのどのような意識的な努力も必要とすることなく、自己調整、自己修復および変化する条件に応答しなければならない。 In the new era of computing, a trend has arisen in the assembly and management of computing systems. Specifically, autonomic computing today represents a leading strategy for creating and managing enterprise-level computing systems and represents a major challenge in computer science. In the famous manifesto "Autonomous Computing: IBM's Perspective on the State of Information Technology", Paul Law, Senior Vice President of IBM Research, It's not about keeping pace with Moores' Law), but about dealing with the consequences of its many years of control. " Given this finding, Horn suggested computing similar to the autonomic nervous system of biological science. That is, a person's autonomic nervous system responds to conditions that are monitored, coordinated, repaired and changed without conscious effort on the part of the person, whereas in an autonomous computing system, the system Must respond to self-regulation, self-healing and changing conditions without requiring any conscious effort on the part of the operating system operator.
従って、自律神経系が、複雑さに対処する負担から人を解放できる一方で、自律型コンピューティング・システムも同じことができる。むしろ、コンピューティング・システム自体は、それ自体の複雑さに対処する責任を負うことができる。IBMマニフェストの核心は、自律型コンピューティング・システムの以下の8つの主要特性に関する: Thus, while the autonomic nervous system can free people from the burden of dealing with complexity, an autonomic computing system can do the same. Rather, the computing system itself can be responsible for dealing with its own complexity. The core of the IBM manifest relates to the following eight main characteristics of an autonomous computing system:
I. システムは、自分自身を知り、同じくシステム・アイデンティティを有するシステム・コンポーネントを含まなければならない。 I. The system must include system components that know themselves and also have a system identity.
II. システムは、変化し予測不可能な条件のもとで自分自身を構成および再構成できなければならない。 II. The system must be able to configure and reconfigure itself under changing and unpredictable conditions.
III. システムは、決して現状に甘んじてはならず、システムは、その働きを最適化するための方法を常に捜さなければならない。 III. The system should never be amused by the status quo, and the system must always look for ways to optimize its work.
IV. システムは、自己修復的でなければならず、その部分のどれかに誤動作を起こさせるかもしれない日常的および異常なイベントを復旧できなければならない。 IV. The system must be self-healing and must be able to recover from routine and abnormal events that may cause any of its parts to malfunction.
V. システムは、自己防衛に精通していなければならない。 V. The system must be familiar with self-defense.
VI. システムは、その環境およびその活動を包囲する状況を知っており、それに応じて作動しなければならない。 VI. The system knows its environment and the circumstances surrounding its activities and must operate accordingly.
VII. システムは、オープン・スタンダードに準拠しなければならない。 VII. The system must comply with open standards.
VIII. システムは、その複雑さをユーザから隠したままにしておく一方で、必要な最適化されたリソースを予期しなければならない。 VIII. The system must anticipate the required optimized resources while keeping its complexity hidden from the user.
全く明確に、アプリケーション・コンポーネント配布においてアップデートおよびパッチを導入する従来のやり方は、自律型コンピューティングの8つのテナントからはほど遠い。 Quite clearly, the traditional way of introducing updates and patches in application component distribution is far from the eight tenants of autonomous computing.
本発明は、アプリケーション・コンポーネント配布に関する技術的欠陥に対応し、様々な実施形態において、コンピューティング・プロセスへの影響に基いて優先度設定されたアプリケーション・コンポーネント配布のための新規かつ非自明な方法、システムおよび装置を提供する。本発明に従って構成されたアプリケーション・コンポーネント配布システムは、コンピュータ通信ネットワーク上の通信により結合されたクライアント・コンピューティング・デバイスを操作するように構成されたリソース管理システムを含むことができる。クライアント・コンピューティング・デバイスのうちのどれが指定されたアプリケーション・コンポーネントの配布を最初に受け取るかを指定する優先度設定データを格納するようにデータ・ストアが配置され得る。最後に、優先度設定データに基づいてクライアント・コンピューティング・デバイスにアプリケーション・コンポーネントを選択的に導入するように選択的導入プロセッサがプログラムされ得る。 The present invention addresses a technical deficiency related to application component distribution and, in various embodiments, a novel and non-obvious method for application component distribution that is prioritized based on its impact on the computing process. , Providing a system and apparatus. An application component distribution system configured in accordance with the present invention can include a resource management system configured to operate a client computing device coupled by communication over a computer communication network. A data store may be arranged to store priority setting data that specifies which of the client computing devices will initially receive the distribution of the specified application component. Finally, the selective deployment processor can be programmed to selectively deploy application components to the client computing device based on the priority setting data.
優先度設定データは、コンピュータ通信ネットワークにおいて動作しているコンピューティング・プロセスのうちの重要なものとのそれぞれの関連に基づいて、クライアント・コンピューティング・デバイスのうちのどれが指定されたアプリケーション・コンポーネントの配布を最初に受け取るかを指定することができる。この点に関して、コンピューティング・プロセスの動作およびクライアント・コンピューティング・デバイスのうちの関連するものへの優先度設定ルールの適用に基づいて優先度設定データをデータ・ストアに実装するようにルールベース選択プロセッサが構成され得る。代わりに、コンピューティング・プロセスの動作およびクライアント・コンピューティング・デバイスのうちの関連するものに関する自律的に取得された情報に基づいて優先度設定データをデータ・ストアに実装するように自律型選択プロセッサが構成され得る。 Prioritization data is applied to which of the client computing devices is designated by the application component based on its respective association with the significant one of the computing processes operating in the computer communications network. You can specify whether you want to receive the first distribution. In this regard, rule-based selection to implement prioritization data in the data store based on the behavior of the computing process and the application of prioritization rules to relevant ones of the client computing devices A processor may be configured. Instead, an autonomous selection processor to implement prioritization data in the data store based on the autonomously obtained information about the operation of the computing process and related ones of the client computing devices Can be configured.
優先度設定されたアプリケーション・コンポーネント配布のための方法は、クライアント・コンピューティング・デバイスと選択されたコンピューティング・プロセスとの間の関連に従って決定された優先度設定に基づいてクライアント・コンピューティング・デバイスのセットにアプリケーション・コンポーネントを導入するステップを含むことができる。好ましくは、選択されたコンピューティング・プロセスは、クリティカル・ビジネス・プロセスであり得るが、本発明はこの点に関して限定されない。加えて、本発明の好ましい態様において、関連は、クリティカル・ビジネス・プロセスへのクライアント・コンピューティング・デバイスの関与であり得る。 A method for distribution of prioritized application components includes a client computing device based on prioritization determined according to an association between the client computing device and a selected computing process. Introducing an application component into the set. Preferably, the selected computing process may be a critical business process, although the invention is not limited in this regard. In addition, in a preferred aspect of the invention, the association can be the involvement of a client computing device in a critical business process.
特に、優先度設定は、ルール・ベース方式または自律的な方式により手動で決定できる。この点に関して、本発明の方法は、優先度設定を確立するためのルールを作るステップおよび優先度設定を確立するためにそのルールを処理するステップを含み得る。代わりに、本発明の方法は、コンピューティング・プロセスの動作を観察するステップと、観察ステップに基づいてコンピューティング・プロセスのうちのどれがクリティカルであるかを決定するステップと、クリティカルであると決定されるコンピューティング・プロセスと関連するクライアント・コンピューティング・デバイスを優先度設定するステップとを含み得る。 In particular, the priority setting can be manually determined by a rule-based method or an autonomous method. In this regard, the method of the present invention may include creating a rule for establishing a priority setting and processing the rule to establish a priority setting. Instead, the method of the present invention determines the operation of the computing process, determining which of the computing processes is critical based on the observing step, and determining that it is critical. Prioritizing a client computing device associated with the computing process being performed.
本発明の付加的な態様は、以下の説明おいて部分的に述べられ、その説明からある程度明らかになり、あるいは本発明の実施により学習され得る。本発明の態様は、特に添付の特許請求の範囲において指摘される要素および組み合わせによって実現および達成される。上記の一般的説明および以下の詳細な説明は双方とも代表的かつ説明的なものにすぎず、特許請求の範囲に記載された本発明を限定するものではないことが理解されるべきである。 Additional aspects of the invention will be set forth in part in the description which follows, and in part will be apparent from the description, or may be learned by practice of the invention. The aspects of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims. It should be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention as claimed.
本明細書に組み込まれかつ本明細書を構成する添付図面は、本発明の実施形態を例示し、説明と共に、本発明の原理を説明する役割を果たす。本明細書中で例示される実施形態は現在好ましいものであるが、本発明は示される厳密な配置および手段に限定されないことが理解される。 The accompanying drawings, which are incorporated in and constitute the specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention. While the embodiments illustrated herein are presently preferred, it is understood that the invention is not limited to the precise arrangements and instrumentalities shown.
本発明は、クリティカル・コンピューティング・プロセスにおけるクライアントの関与に基づいてクライアント・コンピューティング・デバイスにアプリケーション・コンポーネントを選択的に導入するための方法、システムおよび装置を提供する。本発明によれば、クリティカル・コンピューティング・プロセスは、1つ以上のクライアント・コンピューティング・デバイスの対応するセットと関連付けされ得る。この関連は、例えば、関連の手動適用により、手動で確立されたルールの実行により、またはクリティカル・コンピューティング・プロセスの動作の観察により自律的に確立され得る。いずれにしても、あるアプリケーション・コンポーネントが導入されるべきであると決定される場合、クリティカル・コンピューティング・プロセスのうちの対象となっているものが識別でき、識別されたクリティカル・コンピューティング・プロセスと関連したそれらのクライアント・コンピューティング・デバイスは、クライアント・コンピューティング・デバイスのうちの他のものよりも前に導入を受け取るように選択され得る。 The present invention provides a method, system and apparatus for selectively deploying application components to a client computing device based on client involvement in a critical computing process. In accordance with the present invention, a critical computing process can be associated with a corresponding set of one or more client computing devices. This association can be established autonomously, for example, by manual application of the association, by execution of manually established rules, or by observing the operation of critical computing processes. In any case, if it is determined that an application component should be installed, the critical computing process can be identified and the identified critical computing process Those client computing devices associated with the may be selected to receive the installation prior to others of the client computing devices.
本発明の好ましい実施形態のさらなる例示において、図1は、優先度設定されたコンポーネント配布のために構成されたアプリケーション・コンポーネント配布の概略図である。図1のシステムは、データ通信ネットワーク140越しに1つ以上のクライアント・コンピューティング・デバイス120A、120B、120nと通信により結合するために構成されたリソース管理システム110を含み得る。クライアント・コンピューティング・デバイス120A、120B、120nは、コンピューティング・ロジックをホストすることができ、パーソナル・コンピュータ、サーバ・コンピュータ、ハンドヘルド・コンピュータまたはより大きなコンピューティング・エンティティのリソースの一部を利用するように管理されるバーチャル(仮想)コンピュータのような、どのようなロジック処理デバイスも含むことができる。この点に関して、クライアント・コンピューティング・デバイス120A、120B、120nは、アプリケーション・コンポーネントの動作をホストするように構成され得る。
In a further illustration of a preferred embodiment of the present invention, FIG. 1 is a schematic diagram of application component distribution configured for prioritized component distribution. The system of FIG. 1 may include a
リソース管理システム110は、データ通信ネットワーク140を含む1つ以上のデータ通信ネットワークに関するリソースの動作を管理するようにプログラムされ得る。リソースは、データベース・ストレージ、物理的および仮想メモリならびに通信帯域幅のようなハードウェア・リソースを含み得る。加えて、リソースは、データ通信ネットワーク140に関して動作するコンピューティング・アプリケーションを含み得る。その目的のため、リソース管理システム110は、データ通信ネットワーク140において検出され、考慮のためにイベント待ち行列190中で待機させられる保守イベントに応答してクライアント・コンピューティング・デバイス120A、120B、120nにおいて動作するアプリケーション・コンポーネントのアップデーティングおよびパッチングの責任を維持し得る。
重要なことに、リソース管理システム110は、選択的導入プロセッサ180および選択的導入プロセッサ180による使用のための優先度設定データのセット150を含み得る。具体的には、優先度設定データ150は、クライアント・コンピューティング・デバイス120A、120B、120nのうちのどれがいつアプリケーション・コンポーネントの導入を受け取るかを決定するための情報を含み得る。より具体的には、優先度設定データ150は、アプリケーション・コンポーネント導入のための優先度を指定することができ、この優先度に基づいて、選択的導入プロセッサ180は、クライアント・コンピューティング・デバイス120A、120B、120nのうちのどれがクライアント・コンピューティング・デバイス120A、120B、120nの他のものより前にアプリケーション・コンポーネントの導入を最初に受け取るかを決定できる。
Significantly, the
優先度設定データ150は、手動的方法、自動化されたルールベース方法、および自律的方法を含むどのような数の方法に基づいても収集され得る。手動的方法の場合、オペレータは、クライアント・コンピューティング・デバイス120A、120B、120nのうちのどれが1つまたは複数のアプリケーション・コンポーネントの優先度設定された導入を受け取るかを示すのに適した優先度設定データ150に記録を手動で挿入できる。後者の2つの方法の場合、ルールベース選択プロセッサおよび自律的選択プロセッサ170のいずれか一方または両方は、優先度設定データ150に結合され得る。
ルールベース選択プロセッサ160は、クライアント・コンピューティング・デバイス120A、120B、120nのうちで、1つ以上のアプリケーション・コンポーネントまたはこの1つ以上のアプリケーション・コンポーネントへのアップデートを導入する際に優先度設定された処理を受け取るものを指定するためのルールでプログラムされ得る。具体的には、これらのルールは、クライアント・コンピューティング・デバイス120A、120B、120nのうちの1つ以上と重要なコンピューティング・プロセスであると決定されているコンピューティング・プロセス130A、130B、130nのうちの1つ以上との間の関連に基づくことができる。この点に関して、コンピューティング・プロセス130A、130B、130nの各々は、技術的に知られているようなビジネス・プロセスであり得る。従って、重要であることが知られている1つ以上の指定されたコンピューティング・プロセス130A、130B、130nにおける1つ以上のクライアント・コンピューティング・デバイス120A、120B、120nによる関与または依存は、それらの特定のクライアント・コンピューティング・デバイス120Aへのアプリケーション・コンポーネントの導入の優先度設定を正当化することができる
The rule-based selection processor 160 is prioritized when deploying one or more application components or updates to the one or more application components of the
ルールベース選択プロセッサ160とは異なり、自律型選択プロセッサ170は、クライアント・コンピューティング・デバイス120A、120B、120nの動作を、コンピューティング・プロセス130A、130B、130nのうちの1つ以上とのそれぞれの相互作用に関連して観察できる。自律型選択プロセッサ170はさらに、コンピューティング・プロセス130A、130B、130nのうちのどれが、本質的にクリティカルでないとしても、より重要であるかの動的かつ継続的な決定を公式化するために、コンピューティング・プロセス130A、130B、130nを監視することができる。この情報を用いて、クライアント・コンピューティング・デバイス120A、120B、120nのうちの各々は、各クライアント・コンピューティング・デバイス120A、120B、120nが1つ以上の「キー」コンピューティング・プロセス130A、130B、130nに関与する場合にアプリケーション・コンポーネント導入を受け取るために、優先度処理を受け取ることができる。
Unlike the rule-based selection processor 160, the
ここで図2を参照すると、図1のシステムにおけるクライアント・コンピューティング・プロセスへのアプリケーション・コンポーネントの配布を優先度設定するためのプロセスを例示する流れ図が示してある。ブロック210において開始し、導入条件が検出されて、例えば、1つ以上のアプリケーション・コンポーネントの配布により分散型アプリケーションへの向上またはアップグレードを導入する必要を示すイベントがイベント待ち行列から取り出され得る。ブロック220において、導入される1つまたは複数のアプリケーション・コンポーネントは、(局所的であろうと遠隔的であろうと)固定ストレージ中に置かれ、データ通信ネットワーク周りの配布用に準備され得る。
Referring now to FIG. 2, a flow diagram illustrating a process for prioritizing the distribution of application components to client computing processes in the system of FIG. 1 is shown. Beginning at
ブロック230において、アプリケーション・コンポーネントを受け取る、対象となっているクライアント・コンピューティング・デバイスが決定され得る。ブロック240において、優先度設定データが、対象となっているクライアント・コンピューティング・デバイスについて決定され得る。その後、ブロック250において、1つまたは複数のアプリケーション・コンポーネントは、導入条件の対象となると決定されたクライアント・コンピューティング・デバイスのその他のものよりも高い優先度を享受するクライアント・コンピューティング・デバイスに導入され得る。判断ブロック260において、優先度設定されたクライアント・コンピューティング・デバイスへの導入が完了していれば、ブロック270において、1つまたは複数のアプリケーション・コンポーネントは、対象となっているクライアント・コンピューティング・デバイスうちの残りのものに任意に配布され得る。いずれにせよ、非常に大規模な配布においては、より高い優先度のデバイスがより低い優先度のデバイスよりも早期に導入を受け取ることを継続的に保証するために、本明細書に記載される優先度設定プロセスを数回繰り返すことができることに注意することが重要である。
At
本発明は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組み合わせにおいて実現できる。本発明の方法およびシステムの実施は、1つのコンピュータ・システムにおける集中化方式、または種々の要素がいくつかの相互接続コンピュータ・システム全体にわたって分散された分散方式で実現され得る。本明細書に記載される方法を実行するために適合されたどのような種類のコンピュータ・システム、または他の装置も、本明細書に記載される機能を実行するのに適している。 The present invention can be realized in hardware, software, or a combination of hardware and software. The implementation of the method and system of the present invention can be implemented in a centralized manner in one computer system or in a distributed manner in which various elements are distributed across several interconnected computer systems. Any type of computer system or other apparatus adapted to perform the methods described herein is suitable for performing the functions described herein.
ハードウェアとソフトウェアとの典型的な組み合わせは、コンピュータ・プログラムを備える汎用コンピュータ・システムとすることができ、このコンピュータ・プログラムは、ロードおよび実行される時に、本明細書に記載される方法をコンピュータ・システムが実行するようにコンピュータ・システムを制御する。本発明は、コンピュータ・プログラム製品に埋め込むこともでき、このコンピュータ・プログラム製品は、本明細書に記載される方法の実施を可能にする全ての特徴を含み、コンピュータ・システムにロードされる場合に、これらの方法を実行することができる。 A typical combination of hardware and software can be a general purpose computer system comprising a computer program that, when loaded and executed, performs the methods described herein as a computer. Control the computer system to run. The present invention can also be embedded in a computer program product that includes all features that enable the implementation of the methods described herein and when loaded into a computer system. These methods can be performed.
現在の文脈におけるコンピュータ・プログラムまたはアプリケーションは、情報処理機能を有するシステムに、ある特定の機能を直接的に、あるいは以下のa)別の言語、コードまたは表記法への変換、b)異なるマテリアル・フォームでの複製のいずれか一方またはその両方の後に実行させることを意図した命令のセットの、どのような言語、コードまたは表記法における、どのよう表現も意味する。重要なことに、本発明は、本発明の精神または本質的な属性から逸脱することなく他の特定の形態で具体化することができ、それに応じて、本発明の範囲を示しているような上記の詳細な説明よりは、特許請求の範囲が参照されるべきである。 A computer program or application in the current context allows a system with information processing capabilities to either directly convert certain functions or a) conversion to another language, code or notation, b) different material Any representation in any language, code or notation of a set of instructions intended to be executed after either or both of the duplications in the form. Importantly, the present invention may be embodied in other specific forms without departing from the spirit or essential attributes of the invention, as such, indicating the scope of the invention Reference should be made to the appended claims rather than to the detailed description above.
Claims (7)
コンピュータ通信ネットワーク越しに、通信により結合されたクライアント・コンピューティング・デバイスを管理するように構成されたリソース管理システムと、
前記クライアント・コンピューティング・デバイスのうちのどれが指定されたアプリケーション・コンポーネントの配布を最初に受け取るのかを指定する優先度設定データを格納するように配置されたデータ・ストアと、
前記リソース管理システムに結合され、1以上のアプリケーション・コンポーネントの配布により分散型アプリケーションの拡張または修正を導入する必要を示す導入イベントを待ち行列に入れるように構成されたイベント待ち行列と、
前記導入イベントに応答して、前記優先度設定データに基づいて前記クライアント・コンピューティング・デバイスに前記1以上のアプリケーション・コンポーネントを選択的に導入するようにプログラムされた選択的導入プロセッサと、
前記コンピュータ通信ネットワークで動作するコンピューティング・プロセスの動作および前記クライアント・コンピューティング・デバイスのうちの関連するものに優先度設定ルールを適用して、前記コンピューティング・プロセスのうちの重要なものへの前記クライアント・コンピューティング・デバイスのそれぞれの関与に応じて、前記クライアント・コンピューティング・デバイスのうちのどれが前記指定されたアプリケーション・コンポーネントの配布を最初に受け取るのかを指定し、前記優先度設定データを前記データ・ストアに設定するように構成されたルールベース選択プロセッサと
を含む、アプリケーション・コンポーネント配布システム。 An application component distribution system,
A resource management system configured to manage client computing devices communicatively coupled over a computer communications network;
A data store arranged to store priority setting data specifying which of the client computing devices will initially receive the distribution of the specified application component;
An event queue coupled to the resource management system and configured to queue an install event indicating the need to deploy a distributed application extension or modification by distribution of one or more application components;
A selective installation processor programmed to selectively install the one or more application components on the client computing device based on the priority setting data in response to the installation event ;
Applying prioritization rules to the operation of computing processes operating in the computer communications network and related ones of the client computing devices to the important ones of the computing processes Depending on the respective participation of the client computing device, it specifies which of the client computing devices will initially receive the distribution of the specified application component, and the priority setting data An application component distribution system comprising: a rule-based selection processor configured to set a data store in the data store.
前記コンピュータ通信ネットワークで動作するコンピューティング・プロセスの動作および前記クライアント・コンピューティング・デバイスのうちの関連するものに優先度設定ルールを適用して、前記コンピューティング・プロセスのうちの重要なものへの前記クライアント・コンピューティング・デバイスのそれぞれの関与に応じて、前記クライアント・コンピューティング・デバイスのうちのどれが指定されたアプリケーション・コンポーネントの配布を最初に受け取るのかを指定し、優先度設定データをデータ・ストアに設定するステップと、
イベント待ち行列からイベントを取り出すステップと、
前記イベントが、1以上のアプリケーション・コンポーネントの配布により分散型アプリケーションの拡張または修正を導入する必要を示す導入イベントであると判定するステップと、
前記導入イベントであると判定されたことに応答して、前記優先度設定データに基づいて前記クライアント・コンピューティング・デバイスのセットに前記1以上のアプリケーション・コンポーネントを導入するステップと
を含む、方法。 Prioritized application component distribution that runs on an application component distribution system, including a resource management system configured to manage client computing devices that are communicatively coupled over a computer communication network A method for
Applying prioritization rules to the operation of computing processes operating in the computer communications network and related ones of the client computing devices to the important ones of the computing processes Depending on the respective involvement of the client computing device, specify which of the client computing devices will receive the distribution of the specified application component first, and set priority setting data・ Steps to set in the store,
Retrieving events from the event queue;
Determining that the event is an introduction event indicating that a distribution application extension or modification needs to be introduced by distribution of one or more application components;
Installing the one or more application components on the set of client computing devices based on the priority setting data in response to determining that the event is the installation event .
前記コンピューティング・プロセスの動作を観察するステップと、
前記観察するステップに基づいて前記コンピューティング・プロセスのうちのどれがクリティカルであるかを決定するステップと、
クリティカルであると決定されるコンピューティング・プロセスと関連するクライアント・コンピューティング・デバイスを優先度設定するステップと
を含む、請求項4に記載の方法。 The step of autonomously determining the priority setting comprises:
Observing the operation of the computing process;
Determining which of the computing processes are critical based on the observing steps;
The client computing device associated with a computing process that is determined to be critical and a step of setting priority The method of claim 4.
前記コンピュータ通信ネットワークで動作するコンピューティング・プロセスの動作および前記クライアント・コンピューティング・デバイスのうちの関連するものに優先度設定ルールを適用して、前記コンピューティング・プロセスのうちの重要なものへの前記クライアント・コンピューティング・デバイスのそれぞれの関与に応じて、前記クライアント・コンピューティング・デバイスのうちのどれが指定されたアプリケーション・コンポーネントの配布を最初に受け取るのかを指定し、優先度設定データをデータ・ストアに設定するステップと、
イベント待ち行列からイベントを取り出すステップと、
前記イベントが、1以上のアプリケーション・コンポーネントの配布により分散型アプリケーションの拡張または修正を導入する必要を示す導入イベントであると判定するステップと、
前記導入イベントであると判定されたことに応答して、前記優先度設定データに基づいて、前記1以上のアプリケーション・コンポーネントをクライアント・コンピューティング・デバイスのセットに導入するステップと
を機械に実行させる命令のルーチン・セットを含む、機械可読ストレージ。 Machine-readable storing a computer program for implementing an application component distribution system, including a resource management system configured to manage client computing devices coupled by communication over a computer communication network Storage, wherein the computer program is executed by a machine;
Applying prioritization rules to the operation of computing processes operating in the computer communications network and related ones of the client computing devices to the important ones of the computing processes Depending on the respective involvement of the client computing device, specify which of the client computing devices will receive the distribution of the specified application component first, and set priority setting data・ Steps to set in the store,
Retrieving events from the event queue;
Determining that the event is an introduction event indicating that a distribution application extension or modification needs to be introduced by distribution of one or more application components;
In response to determining that the event is the installation event, causing the machine to perform the step of introducing the one or more application components to a set of client computing devices based on the priority setting data Machine-readable storage that contains a routine set of instructions.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/890,022 | 2004-07-13 | ||
US10/890,022 US8898256B2 (en) | 2004-07-13 | 2004-07-13 | Prioritization of application component distribution |
PCT/EP2005/052938 WO2006005674A1 (en) | 2004-07-13 | 2005-06-23 | Priorization of application component distribution |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2008507015A JP2008507015A (en) | 2008-03-06 |
JP2008507015A5 JP2008507015A5 (en) | 2008-06-19 |
JP5593016B2 true JP5593016B2 (en) | 2014-09-17 |
Family
ID=34978683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007520802A Expired - Fee Related JP5593016B2 (en) | 2004-07-13 | 2005-06-23 | Prioritizing application component distribution |
Country Status (6)
Country | Link |
---|---|
US (2) | US8898256B2 (en) |
EP (1) | EP1782192A1 (en) |
JP (1) | JP5593016B2 (en) |
CN (1) | CN1842766A (en) |
TW (1) | TWI341472B (en) |
WO (1) | WO2006005674A1 (en) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8712973B2 (en) * | 2006-04-11 | 2014-04-29 | International Business Machines Corporation | Weighted determination in configuration management systems |
CN101411123B (en) * | 2006-04-20 | 2011-08-17 | 国际商业机器公司 | Method, system and computer program for the centralized system management on endpoints of a distributed data processing system |
US20080183690A1 (en) | 2007-01-26 | 2008-07-31 | Ramachandran Puthukode G | Method for providing assistance in making change decisions in a configurable managed environment |
US8181173B2 (en) * | 2007-10-12 | 2012-05-15 | International Business Machines Corporation | Determining priority for installing a patch into multiple patch recipients of a network |
US8645944B2 (en) * | 2008-08-18 | 2014-02-04 | Microsoft Corporation | Deployment of a solution artifact to a client application |
US8918761B1 (en) | 2008-12-05 | 2014-12-23 | Amazon Technologies, Inc. | Elastic application framework for deploying software |
US9195455B2 (en) * | 2009-04-01 | 2015-11-24 | Oracle International Corporation | Reducing downtime when patching multiple inter-dependent software components |
US8458690B2 (en) * | 2009-04-29 | 2013-06-04 | Microsoft Corporation | Automated software deployment triggered by state differences in distributed systems |
JPWO2011135629A1 (en) * | 2010-04-28 | 2013-07-18 | 株式会社日立製作所 | Software distribution management method in computer system and computer system for software distribution management |
TWI465072B (en) * | 2011-12-21 | 2014-12-11 | Inventec Corp | Method for updating system firmware and server system using the same |
CN103186404B (en) * | 2011-12-28 | 2016-01-06 | 英业达股份有限公司 | System firmware update method and the server system using the method |
US10223156B2 (en) | 2013-06-09 | 2019-03-05 | Apple Inc. | Initiating background updates based on user activity |
US9256484B2 (en) | 2013-06-09 | 2016-02-09 | Apple Inc. | Dynamic adjustment of mobile device based on user activity |
GB2516009A (en) * | 2013-07-01 | 2015-01-14 | Muntedhar Sahib Alhakim | Automated software deployment management |
JP5884850B2 (en) * | 2014-03-26 | 2016-03-15 | カシオ計算機株式会社 | Information distribution apparatus and program |
US9432796B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Dynamic adjustment of mobile device based on peer event data |
US10594835B2 (en) | 2015-06-05 | 2020-03-17 | Apple Inc. | Efficient context monitoring |
US10275337B2 (en) * | 2017-01-17 | 2019-04-30 | International Business Machines Corporation | Intelligent processing of distributed breakpoints |
US11526347B2 (en) * | 2021-04-15 | 2022-12-13 | Vmware, Inc. | Intelligent software patch management |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5418953A (en) * | 1993-04-12 | 1995-05-23 | Loral/Rohm Mil-Spec Corp. | Method for automated deployment of a software program onto a multi-processor architecture |
JPH07129373A (en) | 1993-10-29 | 1995-05-19 | Matsushita Electric Ind Co Ltd | Application version managing device |
WO1998003910A1 (en) * | 1996-07-24 | 1998-01-29 | Hewlett-Packard Company | Ordered message reception in a distributed data processing system |
US6947943B2 (en) * | 2001-10-26 | 2005-09-20 | Zeosoft Technology Group, Inc. | System for development, management and operation of distributed clients and servers |
US6353616B1 (en) * | 1998-05-21 | 2002-03-05 | Lucent Technologies Inc. | Adaptive processor schedulor and method for reservation protocol message processing |
US6341303B1 (en) * | 1998-08-28 | 2002-01-22 | Oracle Corporation | System and method for scheduling a resource according to a preconfigured plan |
JP2000099337A (en) | 1998-09-21 | 2000-04-07 | Hitachi Information Systems Ltd | Distributed application system and downloading method |
US6401238B1 (en) * | 1998-12-10 | 2002-06-04 | International Business Machines Corporation | Intelligent deployment of applications to preserve network bandwidth |
JP2000347957A (en) * | 1999-06-01 | 2000-12-15 | Fujitsu Ltd | Remote maintenance system |
US20010039497A1 (en) * | 2000-03-30 | 2001-11-08 | Hubbard Edward A. | System and method for monitizing network connected user bases utilizing distributed processing systems |
JP3833045B2 (en) | 2000-04-14 | 2006-10-11 | シャープ株式会社 | Program download system and program download method |
US6408277B1 (en) * | 2000-06-21 | 2002-06-18 | Banter Limited | System and method for automatic task prioritization |
AU2001286145A1 (en) * | 2000-07-10 | 2002-01-21 | It Masters Technologies S.A. | System and method of enterprise systems and business impact management |
WO2002050660A2 (en) * | 2000-12-20 | 2002-06-27 | International Business Machines Corporation | Method and system for remote software distribution and installation |
US20020124064A1 (en) * | 2001-01-12 | 2002-09-05 | Epstein Mark E. | Method and apparatus for managing a network |
JP2003047957A (en) | 2001-08-08 | 2003-02-18 | Tokyo Yogyo Co Ltd | Water purification apparatus |
US7028225B2 (en) * | 2001-09-25 | 2006-04-11 | Path Communications, Inc. | Application manager for monitoring and recovery of software based application processes |
US20030163807A1 (en) * | 2002-02-27 | 2003-08-28 | International Business Machines Corporation | Weighted selection of target systems for distributed software installation |
US7069553B2 (en) * | 2003-03-03 | 2006-06-27 | Computer Associates Think, Inc. | Universal deployment tool |
US7313120B2 (en) * | 2003-09-16 | 2007-12-25 | Nokia Corporation | Application control in peer-to-peer ad-hoc communication networks |
-
2004
- 2004-07-13 US US10/890,022 patent/US8898256B2/en not_active Expired - Fee Related
-
2005
- 2005-06-23 JP JP2007520802A patent/JP5593016B2/en not_active Expired - Fee Related
- 2005-06-23 EP EP05764054A patent/EP1782192A1/en not_active Ceased
- 2005-06-23 CN CN 200580000862 patent/CN1842766A/en active Pending
- 2005-06-23 WO PCT/EP2005/052938 patent/WO2006005674A1/en not_active Application Discontinuation
- 2005-07-01 TW TW094122443A patent/TWI341472B/en not_active IP Right Cessation
-
2014
- 2014-10-11 US US14/512,402 patent/US9304755B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20060031371A1 (en) | 2006-02-09 |
US9304755B2 (en) | 2016-04-05 |
CN1842766A (en) | 2006-10-04 |
US20150100956A1 (en) | 2015-04-09 |
EP1782192A1 (en) | 2007-05-09 |
US8898256B2 (en) | 2014-11-25 |
TWI341472B (en) | 2011-05-01 |
TW200606683A (en) | 2006-02-16 |
JP2008507015A (en) | 2008-03-06 |
WO2006005674A1 (en) | 2006-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5593016B2 (en) | Prioritizing application component distribution | |
KR101278743B1 (en) | Solution deployment in a server farm | |
CN112241321B (en) | Kubernetes-based computational power scheduling method and device | |
US7350201B2 (en) | Software distribution application supporting operating system installations | |
CN104317610B (en) | Method and device for automatic installation and deployment of hadoop platform | |
US8099478B2 (en) | Program, method, and apparatus for managing applications | |
US6732168B1 (en) | Method and apparatus for use in specifying and insuring policies for management of computer networks | |
EP2859441B1 (en) | Cloud application deployment portability | |
US20110126168A1 (en) | Cloud plarform for managing software as a service (saas) resources | |
US20120159491A1 (en) | Data driven dynamic workflow | |
US20220269539A1 (en) | Redistributing update resources during update campaigns | |
US8819202B1 (en) | Service configuration and deployment engine for provisioning automation | |
WO2011069730A1 (en) | A method and system for managing configurations of system management agents in a distributed environment | |
JP2008502075A (en) | Device management method for device management system | |
CN110098952A (en) | A kind of management method and device of server | |
US9342291B1 (en) | Distributed update service | |
US8234644B2 (en) | Selecting a system management product for performance of system management tasks | |
CN109684028A (en) | A kind of method, device and equipment that operating system is separated with user data | |
JP2006099307A (en) | Method for installing application set in distribution server | |
US9176719B2 (en) | Resolving prerequisites for a client device in an open service gateway initiative (OSGI) framework | |
JP2005039804A (en) | Transaction process for offering rule to rule-based network | |
JP5613255B2 (en) | Application server and method for managing services | |
CN115309457B (en) | Restarting method and device of application instance, electronic equipment and readable storage medium | |
JP2005250732A (en) | Version upgrading control program and version upgrading control method | |
JP2000339156A (en) | License management system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080428 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080428 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110627 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110705 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20110722 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20110722 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110927 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120529 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120926 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20121003 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20121122 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20140716 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140804 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5593016 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |