首页 / 专利库 / 软件 / 中间件 / 消息代理 / Method and device for using wild card under jms topic name and computer-usable medium (dynamically discovering subscription for publication)

Method and device for using wild card under jms topic name and computer-usable medium (dynamically discovering subscription for publication)

阅读:495发布:2024-01-22

专利汇可以提供Method and device for using wild card under jms topic name and computer-usable medium (dynamically discovering subscription for publication)专利检索,专利查询,专利分析的服务。并且PROBLEM TO BE SOLVED: To provide a method and a device for using a wild card under a JMS topic name and a computer-usable medium.
SOLUTION: This method includes a step for transmitting a storage message about a message identified by an ID including a topic stock ID and a topic wild card tag to a Java Naming and Directory Interface JNDI and a step for transmitting an implementation message, which instructs a middleware to store a new message in an optional topic having the topic stock ID, from the JNDI to the middleware. According to the implementation message, the middleware generates a special topic including the topic stock ID and the topic wild card tag, and when inquires of all the topics are made, a reusable dynamic message flow instruction to a broker is generated for allocating the following new message.
COPYRIGHT: (C)2007,JPO&INPIT,下面是Method and device for using wild card under jms topic name and computer-usable medium (dynamically discovering subscription for publication)专利的具体信息内容。

  • トピック・ストックIDとトピック・ワイルドカード標識とを含むIDによって識別されたトピックに関する保管要求をJava Naming and Directory Interface(JNDI)に送信するステップと、
    前記トピック・ストックIDを有する任意のトピックに新しいメッセージを保管するようミドルウェアに指示する実装メッセージを前記JNDIから前記ミドルウェアに送信するステップとを含み、
    前記実装メッセージにより、
    生成された動的フローへの入口点として動作する特殊なトピックを前記ミドルウェアが作成し、
    前記トピック・ストックIDを含むすべてのトピックの照会が行われ、
    今後、関連する新しいメッセージのコピーを公開者から前記トピック・ストックIDを有する前記トピックのそれぞれに振り向けるためにブローカに対する再使用可能な動的メッセージ・フロー命令が生成される、
    コンピュータで実行可能な方法。
  • 動的に生成された前記フローを実行させるように、Java Messaging Service(JMS)公開者からブローカに要求を送信するステップをさらに含む、請求項1に記載のコンピュータで実行可能な方法。
  • プロセッサと、
    コンピュータ・プログラム・コードとを備え、
    前記コンピュータ・プログラム・コードは、
    トピック・ストックIDとトピック・ワイルドカード標識とを含むIDによって識別されたトピックに関する保管要求をJava Naming and Directory Interface(JNDI)に送信するステップと、
    前記トピック・ストックIDを有する任意のトピックに新しいメッセージを保管するようミドルウェアに指示する実装メッセージを前記JNDIから前記ミドルウェアに送信するステップとを前記プロセッサに実行させ、
    前記実装メッセージにより、
    生成された動的フローへの入口点として動作する特殊なトピックを前記ミドルウェアが作成し、
    前記トピック・ストックIDを含むすべてのトピックの照会が行われ、
    今後、関連の新しいメッセージのコピーを公開者から前記トピック・ストックIDを有する前記トピックのそれぞれに振り向けるためにブローカに対する再使用可能動的メッセージ・フロー命令が生成されるシステム。
  • 動的に生成された前記フローを実行させるように、前記命令が、
    Java Messaging Service(JMS)公開者からブローカに要求を送信させるよう構成される、請求項3に記載のシステム。
  • コンピュータで実行可能なコンピュータプログラムであり、
    実行されることにより前記コンピュータに、
    トピック・ストックIDとトピック・ワイルドカード標識とを含むIDによって識別されたトピックに関する保管要求をJava Naming and Directory Interface(JNDI)に送信するステップと、
    前記トピック・ストックIDを有する任意のトピックに新しいメッセージを保管するようミドルウェアに指示する実装メッセージを前記JNDIから前記ミドルウェアに送信するステップを実行させ、
    前記実装メッセージにより、
    生成された動的フローへの入口点として動作する特殊なトピックを前記ミドルウェアが作成し、
    前記トピック・ストックIDを含むすべてのトピックの照会が行われ、
    今後、関連の新しいメッセージのコピーを公開者から前記トピック・ストックIDを有する前記トピックのそれぞれに振り向けるためにブローカに対する再使用可能動的メッセージ・フロー命令が生成されるコンピュータプログラム。
  • 動的に生成された前記フローを実行させるように、 Java Messaging Service(JMS)公開者からブローカに要求を送信するステップをさらに実行させる請求項5に記載のコンピュータプログラム。
  • リモート・ロケーションのサーバからクライアント・コンピュータに配備可能である、請求項5に記載のコンピュータプログラム。
  • オンデマンド方式でサービス・プロバイダからカスタマに提供される、請求項5に記載のコンピュータプログラム。
  • 说明书全文

    本発明は、一般に、コンピュータおよび同様の技術の分野に関し、特に、この分野で使用されるソフトウェアに関する。

    公開および加入(P&S:Publishand Subscribe)は、ハブ・アーキテクチャを実現するためにメッセージングで使用されるアーキテクチャである。 P&Sでは、トピック(topic)および加入(subscription)という概念を使用する。 たとえば、図1に示す通り、公開者(publisher)102は、一般に「トピック」106として知られるデータベースに文書104を公開する。 すなわち、公開者102は多数の文書104を公開することができ、その文書は「トピック」として知られる共通データベース内に収集される。 「トピック」は、「コンピュータ・アーキテクチャ」、「政治」、「株式市場」などの任意のトピック名(好ましくは記述的なもの)にすることができる。

    加入者(subscriber)108a〜108nは、トピック106に加入し、公開者102によってトピック106に公開された文書104(メッセージ)のコピーを受信することができる。

    P&SはJava Messaging Service(JMS)などの多くの技術で実現される。 JMSは、ネットワーク内のコンピュータ間のメッセージング通信をサポートする、オペレーティング・システム(OS:OperatingSystem)が認知不能な(agnostic)アプリケーション・プログラム・インターフェース(API:ApplicationProgram Interface)である。 JMSでは、公開者102がどの「トピック」に公開資料を送信すべきかを把握したい場合、公開者102は、命名/ファイリング・システムとしてJMS内でJava Naming and Directory Interface(INDI)を使用する場合が多い。 したがって、公開者102は、JNDI内にリストされたトピックをルックアップし、選択されたトピック106に自分の公開資料/メッセージを公開する。 しかし、このシナリオが示唆するように、JNDI内にどのトピック名が存在するかまたはどのトピック名を使用すべきかあるいはその両方を公開者102が把握していない場合、問題が発生する。

    特定のトピックを見つけるという問題の他に、それぞれが独自の加入者108のセットを有する可能性のある複数のトピック106に公開したい公開者102にとっては、もう1つの問題が発生する。 公開者102がJNDIから所望のトピックをすべて見つけられる場合でも、このような個別選択を行うために必要な手動プログラミングは困難なものである。

    上述の問題に対する解決策の必要性を認識し、本発明は、メッセージを公開すべき適切なトピックを見つけるためにJMSトピック名でワイルドカード(wildcard)を使用するように設計されたコンピュータで実行可能な方法、システム、およびコンピュータで使用可能な媒体を対象とする。

    この方法は、メッセージが送信されるトピックに関する要求をJava Naming and Directory Interface(JNDI)に送信することを含む。 要求されたトピックは、1つまたは複数のワイルドカードを含むトピック名によって識別される。 実装メッセージ(implementationmessage)によりミドルウェアは、メッセージのコピーを各トピックに送信することになる特殊なメッセージ・フローを生成する。 このフローへの入そのものは特殊な生成トピックになる。 アプリケーションがメッセージの公開に取りかかる場合、公開されるメッセージはこの特殊な生成トピックに送信されることになる。 次に、生成された特殊なメッセージ・フローは、その特殊なメッセージ・フロー内のそれぞれの特殊な生成トピックにメッセージのコピーを送信することになる。

    本発明の上記ならびに追加の目的、特徴、および利点は、以下の詳細な説明で明らかになるであろう。

    本発明に特有と思われる新規な特徴は特許請求の範囲に示されている。 しかし、本発明そのもの、ならびにその好ましい使用態様、その他の目的および利点は、添付図面に併せて読んだときに、例示的な一実施形態に関する以下の詳細な説明を参照することにより、最も良く理解できるであろう。

    次に、図2に関して説明すると、複数のトピック・データ構造にメッセージのコピーを保管するために記述された環境内で本発明によって実行されるステップを描写するスイム・レーン(swim-lane)図200が描写されている。 ステップ1で、Java Message Service(JMS)プログラム202は、ワイルドカードを使用して公開のためのトピックに関する要求をJava Naming and Directory Interface(JNDI)204に送信する。 例示的なコードは以下のものにすることができる。
    Topictopic = jndiContext.lookup(“jms/Hero*Topic”)

    ステップ2で、JNDI204は、実装要求(\getSpecialTopicImplementation\)をミドルウェア206(SpecialTopicImplementation)に送信し、特殊なトピックが要求されることをミドルウェア206に通知する。 次に(ステップ3で)、JNDI204は、トピック・ストックID(「Hero」)ならびにトピック・ワイルドカード標識(「*」は保管メッセージによって定義されないその他の条件を示す)を含む特殊な動的トピック名をブローカ208が作成するための命令(\createSpecialTopic\)をブローカ208に送信する。

    ブローカ208は特殊な動的トピック名を作成し、次に(ステップ4で)ミドルウェア206はその名前にストック・トピック(「Hero」)を有するすべてのトピックについてブローカ208に対して照会を行う。 ブローカ208はこのようなトピックをすべて返し、ミドルウェア206は新たに作成した動的メッセージ・フロー命令を再使用のために生成し(ステップ5)、そのトピック名に「Hero」を含むすべてのトピックについて照会する。 一実施形態では、この動的メッセージ・フロー命令は今後の使用のためにローカルにキャッシュされる。

    ミドルウェア206は、再使用可能動的メッセージ・フロー命令をブローカ208に配備し(ステップ6)、すべてのトピックに対するフローへの動的入口点をJMSプログラム202に返す。 したがって、公開者102(図1に示す)が新しいメッセージ(文書、論文、記事、公開資料、アプリケーション・データなど)をミドルウェア206に公開する場合(ステップ7)、ミドルウェア206はメッセージをブローカ208に転送し(ステップ8)、トピックの名前の少なくとも一部にトピック・ストックID(たとえば、「Hero」)を有するすべてのトピックにそのメッセージを転送するようブローカ208に指示する。 したがって、トピックの名前に「Hero」を含む各トピックに対して新しいメッセージを公開させるために、前に生成された特殊なフローが再使用される。 上述のように特殊な動的トピック名を使用することにより、関連がありそうなすべてのトピックに新しいメッセージを手動で再作成する必要はない。 一実施形態では、動的で特殊なトピック名を含むメッセージ・フロー文書の生成は、ビジネス・プロセス実行言語(BPEL:BusinessProcess Execution Language)スクリプトを使用して実行される。 BPELメッセージ・フロー文書は、新しい動的で特殊なトピック名(ステップ3で生成される)からメッセージを読み取り、そのメッセージを各関連トピックに転送するフローを含む。

    図2はどの点でフローが生成されるかを記述しているが、図3はどのようにフローが生成されるかを記述している。 イニシエータ・ブロック(initiatorblock)302の後、トピック名によるトピックに関する要求がJMSプログラムで受信される(ブロック304)。 トピック要求がワイルドカードを含まないトピックに関するものである場合(照会ブロック306)、明確に命名されたトピックに対して通常通りメッセージが送信され(ブロック308)、プロセスは終了する(ターミネータ・ブロック(terminatorblock)324)。

    しかし、あるトピックに関する要求がそのトピック名にワイルドカードを含む場合(照会ブロック306)、ミドルウェアは動的フローへの入口点として特殊な動的トピックを生成する(ブロック310)。 次に、渡されたワイルドカード名トピック名を使用するストック・トピック名を有するすべてのトピックについてJMSブローカに照会する(ステップ312)。 次に、フローが生成され、任意選択で今後の使用のためにブローカに保管される(ブロック314)。 次に、JMSプログラムは、ミドルウェア206(図2に示す)にメッセージを公開し、この新しい動的トピックにそのメッセージを送信するようブローカに指示し(ブロック316)、それにより次にJMSブローカはフローを実行し、ワイルドカードを使用する名前の基準に適合するトピックのそれぞれにメッセージのコピーを送信することになる(ブロック318)。 次に、ブローカは各トピックについて標準的な公開加入技術を実行することになる(ターミネータ・ブロック320)。

    次に、図4に関して説明すると、本発明を使用可能な例示的なクライアント・コンピュータ402のブロック図が描写されている。 クライアント・コンピュータ402は、システム・バス406に結合されたプロセッサ・ユニット404を含む。 ビデオ・アダプタ408は、ディスプレイ410を駆動/サポートし、同じくシステム・バス406に結合されている。 システム・バス406は、バス・ブリッジ412を介して入出力(I/O)バス414に結合されている。 入出力インターフェース416は入出力バス414に結合されている。 入出力インターフェース416は、キーボード418、マウス420、コンパクト・ディスク読取り専用メモリ(CD−ROM)ドライブ422、フレキシブル・ディスク・ドライブ424、およびフラッシュ・ドライブ・メモリ426を含む、様々な入出力装置との通信を提供する。 入出力インターフェース416に接続されたポートのフォーマットは、ユニバーサル・シリアル・バス(USB:Universal Serial Bus)ポートを含むがこれに限定されない、コンピュータ・アーキテクチャの当業者にとって既知のものであれば、どのようなものでもよい。

    クライアント・コンピュータ402は、システム・バス406に結合されたネットワーク・インターフェース430を使用して、ネットワーク428を介してサービス・プロバイダ・サーバ502と通信することができる。 ネットワーク428は、インターネットなどの外部ネットワーク、あるいはイーサネットまたは仮想私設網(VPN:Virtual Private Network)などの内部ネットワークにすることができる。 ネットワーク428を使用して、クライアント・コンピュータ402は、本発明を使用してサービス・プロバイダ・サーバ502にアクセスすることができる。

    ハード・ディスク・インターフェース432もシステム・バス406に結合されている。 ハード・ディスク・インターフェース432はハード・ディスク434とのインターフェースを取る。 好ましい一実施形態では、ハード・ディスク434は、同じくシステム・バス406に結合されているシステム・メモリ436にデータを追加する。 システム・メモリ436に追加するデータとしては、クライアント・コンピュータ402のオペレーティング・システム(OS)438とアプリケーション・プログラム444とを含む。

    OS438は、アプリケーション・プログラム444などのリソースへの透過的なユーザ・アクセスを可能にするためのシェル440を含む。 一般に、シェル440は、インタープリタならびにユーザとオペレーティング・システムとの間のインターフェースを提供するプログラムである。 より具体的には、シェル440は、コマンド行ユーザ・インターフェース内にまたはファイルから入力されたコマンドを実行する。 したがって、シェル440(UNIX(商標)で呼ばれるもの)は、Windows(商標)ではコマンド・プロセッサとも呼ばれ、一般に、オペレーティング・システム・ソフトウェア階層の最高レベルであり、コマンド・インタープリタとして機能する。 シェルは、システム・プロンプトを提供し、キーボード、マウス、またはその他のユーザ入力媒体によって入力されたコマンドを解釈し、処理のために解釈したコマンド(複数も可)をオペレーティング・システムの適切な下位レベル(たとえば、カーネル442)に送信する。 シェル440はテキストベースで行指向(line-oriented)のユーザ・インターフェースであるが、本発明は図形、音声、ジェスチャなどのその他のユーザ・インターフェース・モードも等しく適切にサポートすることに留意されたい。

    描写されている通り、OS438は、メモリ管理、プロセスおよびタスク管理、ディスク管理、ならびにマウスおよびキーボード管理を含む、OS438の他の部分およびアプリケーション・プログラム444によって必要とされる本質的なサービスの提供を含む、OS438に関する下位レベルの機能を含むカーネル442も含む。

    アプリケーション・プログラム444はブラウザ446を含む。 ブラウザ446は、ハイパーテキスト転送プロトコル(HTTP:HyperText Transfer Protocol)メッセージングを使用してワールド・ワイド・ウェブ(WWW:World Wide Web)クライアント(すなわち、クライアント・コンピュータ402)がインターネットへのネットワーク・メッセージを送受信できるようにし、したがって、サービス・プロバイダ・サーバ502との通信を可能にするプログラム・モジュールおよび命令を含む。

    クライアント・コンピュータ402のシステム・メモリ内のアプリケーション・プログラム444は動的加入探索プログラム(DSDP:Dynamic Subscription DiscoveryProgram)448も含む。 DSDP448は、図2〜図3に記載されているプロセスを実現するためのコードを含む。 一実施形態では、クライアント・コンピュータ402は、サービス・プロバイダ・サーバ502からDSDP448をダウンロードすることができる。

    クライアント・コンピュータ402内に描写されているハードウェア・エレメントは、網羅的であることが意図されておらず、むしろ本発明によって必要とされる本質的なコンポーネントを協調するための典型的なものである。 たとえば、クライアント・コンピュータ402は、磁気カセット、デジタル・ビデオ・ディスク(DVD:Digital Versatile Disk)、ベルヌーイ(Bernoulli)カートリッジなどの代替メモリ記憶装置を含むことができる。 上記その他の変形例は、本発明の精神および範囲に含まれることが意図されている。

    上記の通り、DSDP448は、図5に例示的な形式で示されているサービス・プロバイダ・サーバ502からクライアント・コンピュータ502にダウンロードすることができる。 サービス・プロバイダ・サーバ502は、システム・バス506に結合されたプロセッサ・ユニット504を含む。 ビデオ・アダプタ508もシステム・バス506に結合されている。 ビデオ・アダプタ508はディスプレイ510を駆動/サポートする。 システム・バス506は、バス・ブリッジ512を介して入出力(I/O)バス514に結合されている。 入出力インターフェース516は入出力バス514に結合されている。 入出力インターフェース516は、キーボード518、マウス520、コンパクト・ディスク読取り専用メモリ(CD−ROM)ドライブ522、フレキシブル・ディスク・ドライブ524、およびフラッシュ・ドライブ・メモリ526を含む、様々な入出力装置との通信を提供する。 入出力インターフェース516に接続されたポートのフォーマットは、ユニバーサル・シリアル・バス(USB)ポートを含むがこれに限定されない、コンピュータ・アーキテクチャの当業者にとって既知のものであれば、どのようなものでもよい。

    サービス・プロバイダ・サーバ502は、システム・バス506に結合されたネットワーク・インターフェース530を使用して、ネットワーク428を介してクライアント・コンピュータ402と通信することができる。 ネットワーク428へのアクセスにより、サービス・プロバイダ・サーバ502はDSDP448を実行するかまたはDSDP448をクライアント・コンピュータ402にダウンロードするかあるいはその両方を行うことができる。

    システム・バス506は、ハード・ディスク534とのインターフェースを取るハード・ディスク・インターフェース532にも結合されている。 好ましい一実施形態では、ハード・ディスク534は、同じくシステム・バス506に結合されているシステム・メモリ536にデータを追加する。 システム・メモリ536に追加するデータとしては、シェル540とカーネル542とを含むサービス・プロバイダ・サーバ502のオペレーティング・システム538を含む。 シェル540は、上位レベルのオペレーティング・システム層に組み込まれ、クライアント・コンピュータ402に配備可能なブラウザ546および上述のDSDP448のコピーを含むアプリケーション・プログラム544などのリソースへの透過的なユーザ・アクセスを可能にするために使用される。

    サービス・プロバイダ・サーバ502内に描写されているハードウェア・エレメントは、網羅的であることが意図されておらず、むしろ本発明によって必要とされる本質的なコンポーネントを協調するための典型的なものである。 たとえば、サービス・プロバイダ・サーバ502は、フラッシュ・ドライブ、磁気カセット、デジタル・ビデオ・ディスク(DVD)、ベルヌーイ・カートリッジなどの代替メモリ記憶装置を含むことができる。 上記その他の変形例は、本発明の精神および範囲に含まれることが意図されている。

    本発明の好ましい一実施形態では、サービス・プロバイダ・サーバ502は本発明に関連する機能(DSDP448の実行を含む)のすべてを実行し、したがって、クライアント・コンピュータ402をしれ自体のリソースの使用から解放することにさらに留意されたい。

    それに代わって、本発明の少なくともいくつかの態様は、プログラム(program product)を収容するコンピュータで使用可能な媒体で実現可能であることを理解されたい。 本発明に関する機能を定義するプログラムは、非書込み可能記憶媒体(たとえば、CD−ROM)、書込み可能記憶媒体(たとえば、ハード・ディスク・ドライブ、読取り/書込みCD−ROM、光メディア)、ランダム・アクセス・メモリ(RAM)などのシステム・メモリであるがこれに限定されないもの、ならびにイーサネット、インターネット、ワイヤレス・ネットワーク、および同様のネットワーク・システムを含むコンピュータ・ネットワークおよび電話網などの通信媒体を無制限に含む、様々な信号伝送媒体を介してデータ記憶システムまたはコンピュータ・システムに配布することができる。 したがって、このような信号伝送媒体は、本発明で方法機能を指示するコンピュータ可読命令を伝達するかまたはコード化するときに、本発明の代替諸実施形態を表すことを理解されたい。 さらに、本発明は、本明細書に記載したハードウェア、ソフトウェア、またはソフトウェアとハードウェアの組み合わせあるいはそれらと同等のものの形をした手段を有するシステムによって実現可能であることは言うまでもないことである。

    ソフトウェア配備 したがって、本明細書に記載した方法、特に図2〜図3に示し記載した方法は、サービス・プロバイダ・サーバ502(図5に示す)からクライアント・コンピュータ402(図4に示す)にプロセス・ソフトウェアとして配備することができる。

    次に、図6〜図7を参照すると、ステップ600はプロセス・ソフトウェアの配備を開始する。 第1に、プロセス・ソフトウェアが実行されるときに1つまたは複数のサーバ上に常駐することになるプログラムが存在するかどうかを判断する(照会ブロック602)。 これに該当する場合、実行可能コードを含むことになるサーバが識別される(ブロック604)。 この1つまたは複数のサーバに関するプロセス・ソフトウェアは、ファイル転送プロトコル(FTP:File Transfer Protocol)または他の何らかのプロトコルを介してあるいは共用ファイル・システムの使用によるコピーにより、サーバの記憶装置に直接転送される(ブロック606)。 次にプロセス・ソフトウェアがサーバ上にインストールされる(ブロック608)。

    次に、1つまたは複数のサーバ上のプロセス・ソフトウェアに対してユーザにアクセスさせることによりプロセス・ソフトウェアを配備すべきかどうかに関する判断が行われる(照会ブロック610)。 ユーザがサーバ上のプロセス・ソフトウェアにアクセスすべきである場合、プロセス・ソフトウェアを保管することになるサーバ・アドレスが識別される(ブロック612)。

    プロセス・ソフトウェアを保管するためにプロキシ・サーバを構築すべきかどうかの判断が行われる(照会ブロック614)。 プロキシ・サーバは、Webブラウザなどのクライアント・アプリケーションと実サーバとの間に位置するサーバである。 これは、実サーバに対するすべての要求を解釈し、それ自体がその要求を履行できるかどうかを確認する。 履行できない場合、その要求を実サーバに転送する。 プロキシ・サーバの2つの主な利点は、パフォーマンスを改善することと、要求をフィルタに掛けることである。 プロキシ・サーバが必要である場合、そのプロキシ・サーバがインストールされる(ブロック616)。 プロセス・ソフトウェアは、FTPなどのプロトコルを介してサーバに送信されるか、またはファイル共用を介してソース・ファイルからサーバ・ファイルに直接コピーされる(ブロック618)。 他の実施形態では、プロセス・ソフトウェアを収容しているサーバにトランザクションを送信し、サーバにそのトランザクションを処理させ、プロセス・ソフトウェアを受信してそれをサーバのファイル・システムにコピーすることになるであろう。 プロセス・ソフトウェアがサーバに保管されると、ユーザはそのクライアント・コンピュータを介してサーバ上のプロセス・ソフトウェアにアクセスし、そのクライアント・コンピュータのファイル・システムにコピーする(ブロック620)。 他の実施形態では、サーバにプロセス・ソフトウェアを各クライアントに自動的にコピーさせ、各クライアント・コンピュータでそのプロセス・ソフトウェア用のインストール・プログラムを実行させることになる。 ユーザは、自分のクライアント・コンピュータ上でプロセス・ソフトウェアをインストールするプログラムを実行し(ブロック622)、次にプロセスを終了する(ターミネータ・ブロック624)。

    照会ステップ626では、電子メールを介してユーザにプロセス・ソフトウェアを送信することにより、プロセス・ソフトウェアを配備すべきかどうかの判断が行われる。 プロセス・ソフトウェアが配備されることになるユーザ・セットは、ユーザのクライアント・コンピュータのアドレスによってまとめて識別される(ブロック628)。 プロセス・ソフトウェアは、ユーザのクライアント・コンピュータのそれぞれに電子メールを介して送信される(ブロック630)。 次に、ユーザは電子メールを受信し(ブロック632)、電子メールから自分のクライアント・コンピュータ上のディレクトリにプロセス・ソフトウェアを切り離す(ブロック634)。 ユーザは、自分のクライアント・コンピュータ上でプロセス・ソフトウェアをインストールするプログラムを実行し(ブロック622)、次にプロセスを終了する(ターミネータ・ブロック624)。

    最後に、プロセス・ソフトウェアがユーザのクライアント・コンピュータ上のユーザ・ディレクトリに直接送信されることになるどうかに関する判断が行われる(照会ブロック636)。 送信される場合、ユーザ・ディレクトリが識別される(ブロック638)。 プロセス・ソフトウェアはユーザのクライアント・コンピュータのディレクトリに直接転送される(ブロック640)。 これは、ファイル・システム・ディレクトリを共用し、次に送信側のファイル・システムから受信側ユーザのファイル・システムにコピーすること、あるいはそれに代わって、ファイル転送プロトコル(FTP)などの転送プロトコルを使用することなどのいくつかの方法であるがこれらに限定されないもので実行することができる。 ユーザは、プロセス・ソフトウェアのインストールに備えて自分のクライアント・ファイル・システム上のディレクトリにアクセスする(ブロック642)。 ユーザは、自分のクライアント・コンピュータ上でプロセス・ソフトウェアをインストールするプログラムを実行し(ブロック622)、次にプロセスを終了する(ターミネータ・ブロック624)。

    VPN配備 本発明のソフトウェアは、第三者のVPNサービスが安全な配備手段(secure deployment vehicle)として提供される場合またはVPNが具体的な配備のために必要に応じてオンデマンドで構築される場合に、サービスの一部として第三者に配備することができる。

    仮想私設網(VPN)は、さもなければ無保護または信頼されないネットワークによる接続を保護するために使用できる技術を任意に組み合わせたものである。 VPNは、セキュリティを改善し、運用コストを削減する。 VPNは、複数のリモート・サイトまたはユーザをまとめて接続するために、公衆網、通常はインターネットを使用する。 専用回線などの専用の実世界接続を使用する代わりに、VPNは、インターネットを介して企業の私設網からリモート・サイトまたは従業員に経路指定された「仮想」接続を使用する。 VPNの存続期間が支払額に基づいて所与の期間または所与の配備数に限られている場合、VPNによるソフトウェアへのアクセスは、プロセス・ソフトウェアの配布または実行のためにVPNを具体的に構築することにより(すなわち、ソフトウェアは他の場所に常駐する)、1つのサービスとして提供することができる。

    プロセス・ソフトウェアは、リモート・アクセスVPNまたはサイト間(site-to-site)VPNにより配備し、アクセスし、実行することができる。 リモート・アクセスVPNを使用する場合、プロセス・ソフトウェアは、第三者のサービス・プロバイダによる企業の私設網とリモート・ユーザとの間の安全な暗号化接続を介して配備し、アクセスし、実行される。 エンタープライズ・サービス・プロバイダ(ESP:enterprise service provider)は、ネットワーク・アクセス・サーバ(NAS:network access server)を設定し、自分のコンピュータ用のデスクトップ・クライアント・ソフトウェアをリモート・ユーザに提供する。 在宅勤務者は、フリーダイヤル番号にダイヤルするかあるいはケーブルまたはDSLモデムを介して直接接続してNASに到達し、自分のVPNクライアント・ソフトウェアを使用して企業ネットワークにアクセスし、プロセス・ソフトウェアにアクセスし、それをダウンロードして実行することができる。

    サイト間VPNを使用する場合、プロセス・ソフトウェアは、インターネットなどの公衆網により企業の複数の固定サイト同士を接続するために使用される専用機器および大規模暗号化の使用により配備し、アクセスし、実行される。

    プロセス・ソフトウェアは、1つのパケット全体を他のパケット内に入れ、それをネットワークにより送信するプロセスであるトンネリング(tunneling)を介してVPNによりトランスポートされる。 外側のパケットのプロトコルは、ネットワークと、そのパケットがネットワークに出入りするトンネル・インターフェースと呼ばれる両方のポイントによって理解される。

    このようなVPN配備のためのプロセスは図8〜図10に記載されている。 イニシエータ・ブロック702は仮想私設網(VPN)プロセスを開始する。 リモート・アクセス用のVPNが必要であるかどうかを確認するための判断が行われる(照会ブロック704)。 必要ではない場合、照会ブロック706に移行する。 必要である場合、リモート・アクセスVPNが存在するかどうかを判断する(照会ブロック708)。

    リモート・アクセスVPNが存在する場合、ブロック710に移行する。 存在しない場合、企業の私設網と企業のリモート・ユーザとの間の安全な暗号化接続を提供することになる第三者プロバイダを識別する(ブロック712)。 企業のリモート・ユーザが識別される(ブロック714)。 次に、第三者プロバイダは、ネットワーク・アクセス・サーバ(NAS)をセットアップし(ブロック716)、それによりリモート・ユーザがフリーダイヤル番号にダイヤルするかあるいはブロードバンド・モデムを介して直接接続して、リモート・アクセスVPN用のデスクトップ・クライアント・ソフトウェアにアクセスし、それをダウンロードしてインストールできるようにする(ブロック718)。

    リモート・アクセスVPNが構築された後またはそれが前にインストールされている場合、リモート・ユーザは、NASにダイヤルするかあるいはケーブルまたはDSLモデムを介してNAS内に直接接続することにより、プロセス・ソフトウェアにアクセスすることができる(ブロック710)。 これにより、プロセス・ソフトウェアがアクセスされる企業ネットワーク内に入ることができる(ブロック720)。 プロセス・ソフトウェアは、トンネリングを介してネットワークによりリモート・ユーザのデスクトップにトランスポートされる。 すなわち、プロセス・ソフトウェアは複数パケットに分割され、データとプロトコルとを含む各パケットは他のパケット内に入れられる(ブロック722)。 プロセス・ソフトウェアは、リモート・ユーザのデスクトップに到着すると、パケットから除去され、再構成され、リモート・ユーザのデスクトップ上で実行される(ブロック724)。

    次に、サイト間アクセス用のVPNが必要であるかどうかを確認するための判断が行われる(照会ブロック706)。 必要ではない場合、プロセスの終了に移行する(ターミネータ・ブロック726)。 必要である場合、サイト間VPNが存在するかどうかを判断する(照会ブロック728)。 サイト間VPNが存在する場合、ブロック730に移行する。 存在しない場合、サイト間VPNを確立するために必要な専用機器をインストールする(ブロック738)。 次に、VPN内に大規模暗号化を構築する(ブロック740)。

    サイト間VPNが構築された後またはそれが前に確立されている場合、ユーザは、VPNを介してプロセス・ソフトウェアにアクセスする(ブロック730)。 プロセス・ソフトウェアは、トンネリングを介してネットワークによりサイト・ユーザにトランスポートされる(ブロック732)。 すなわち、プロセス・ソフトウェアは複数パケットに分割され、データとプロトコルとを含む各パケットは他のパケット内に入れられる(ブロック734)。 プロセス・ソフトウェアは、リモート・ユーザのデスクトップに到着すると、パケットから除去され、再構成され、サイト・ユーザのデスクトップ上で実行される(ブロック736)。 次に、プロセスはターミネータ・ブロック726で終了する。

    ソフトウェア統合 本明細書に記載したプロセスを実現するためのコードから構成されるプロセス・ソフトウェアは、アプリケーション、オペレーティング・システム、およびネットワーク・オペレーティング・システムのソフトウェアと共存するようにプロセス・ソフトウェアを準備し、プロセス・ソフトウェアが機能する環境内のクライアントおよびサーバ上にプロセス・ソフトウェアをインストールすることにより、クライアント、サーバ、およびネットワーク環境に統合することができる。

    第1のステップは、プロセス・ソフトウェアが配備されることになるネットワーク・オペレーティング・システムを含み、プロセス・ソフトウェアによって必要とされるかまたはプロセス・ソフトウェアとともに機能するクライアントおよびサーバ上にあるソフトウェアを識別することである。 これは、ネットワーキング機能を追加することにより基本オペレーティング・システムを強化するソフトウェアであるネットワーク・オペレーティング・システムを含む。

    次に、ソフトウェア・アプリケーションおよびバージョン番号が識別され、プロセス・ソフトウェアとともに機能するようテストされたソフトウェア・アプリケーションおよびバージョン番号のリストと比較されることになる。 欠落しているかまたは正しいバージョンと一致しないソフトウェア・アプリケーションは、正しいバージョン番号でアップグレードされる。 パラメータ・リストがプロセス・ソフトによって必要とされるパラメータ・リストと一致することを保証するために、プロセス・ソフトウェアからソフトウェア・アプリケーションにパラメータを渡すプログラム命令がチェックされる。 逆に、パラメータがプロセス・ソフトウェアによって必要とされるパラメータと一致することを保証するために、ソフトウェア・アプリケーションからプロセス・ソフトウェアに渡されるパラメータがチェックされる。 ネットワーク・オペレーティング・システムを含むクライアントおよびサーバ・オペレーティング・システムが識別され、プロセス・ソフトウェアとともに機能するようテストされたオペレーティング・システム、バージョン番号、およびネットワーク・ソフトウェアのリストと比較されることになる。 テストされたオペレーティング・システムおよびバージョン番号のリストと一致しないオペレーティング・システム、バージョン番号、およびネットワーク・ソフトウェアは、クライアントおよびサーバ上で必要なレベルまでアップグレードされる。

    プロセス・ソフトウェアが配備されるソフトウェアがプロセス・ソフトウェアとともに機能するようテストされた正しいバージョン・レベルにあることを保証した後、クライアントおよびサーバ上にプロセス・ソフトウェアをインストールすることによって統合が完了する。

    このプロセスの高レベルの記述のために、次に図11〜図12を参照する。 イニシエータ・ブロック802はプロセス・ソフトウェアの統合を開始する。 第1に、1つまたは複数のサーバ上で実行されることになるプロセス・ソフトウェア・プログラムが存在するかどうかを判断する(ブロック804)。 これに該当しない場合、統合は照会ブロック806に移行する。 これに該当する場合、サーバ・アドレスが識別される(ブロック808)。 プロセス・ソフトウェアによってテストされたオペレーティング・システム(OS)、アプリケーション、およびネットワーク・オペレーティング・システム(NOS)をそれぞれのバージョン番号とともに含むソフトウェアを収容しているかどうかを確認するためにサーバがチェックされる(ブロック810)。 また、ブロック810でプロセス・ソフトウェアによって必要とされるソフトウェアのうち、欠落しているものがあるかどうかを判断するためにもサーバがチェックされる。

    バージョン番号がプロセス・ソフトウェアによってテストされたOS、アプリケーション、およびNOSのバージョン番号と一致するかどうかの判断が行われる(ブロック812)。 すべてのバージョンが一致し、必要なソフトウェアがいずれも欠落していない場合、統合は照会ブロック806で続行される。

    1つまたは複数のバージョン番号が一致しない場合、一致しないバージョンは1つまたは複数のサーバ上で正しいバージョンによって更新される(ブロック814)。 さらに、必要なソフトウェアが欠落している場合、それはブロック814に示すステップで1つまたは複数のサーバ上で更新される。 サーバ統合は、プロセス・ソフトウェアをインストールすることによって完了する(ブロック816)。

    照会ブロック806に示すステップは、ブロック804、812、または816に示すいずれかのステップに続くものであり、クライアント上で実行されることになるプロセス・ソフトウェアのプログラムが存在するかどうかを判断する。 いかなるプロセス・ソフトウェア・プログラムもクライアント上で実行されない場合、統合はターミネータ・ブロック818に移行し、終了する。 これに該当しない場合、ブロック820に示す通り、クライアント・アドレスが識別される。

    プロセス・ソフトウェアによってテストされたオペレーティング・システム(OS)、アプリケーション、およびネットワーク・オペレーティング・システム(NOS)をそれぞれのバージョン番号とともに含むソフトウェアを収容しているかどうかを確認するためにクライアントがチェックされる(ブロック822)。 また、ブロック822によって記載されたステップでプロセス・ソフトウェアによって必要とされるソフトウェアのうち、欠落しているものがあるかどうかを判断するためにもクライアントがチェックされる。

    バージョン番号がプロセス・ソフトウェアによってテストされたOS、アプリケーション、およびNOSのバージョン番号と一致するかどうかの判断が行われる(照会ブロック824)。 すべてのバージョンが一致し、必要なソフトウェアがいずれも欠落していない場合、統合はターミネータ・ブロック818に移行し、終了する。

    1つまたは複数のバージョン番号が一致しない場合、一致しないバージョンはクライアント上で正しいバージョンによって更新される(ブロック826)。 加えて、必要なソフトウェアが欠落している場合、それはクライアント上で更新される(同じくブロック826)。 クライアント統合は、クライアント上でプロセス・ソフトウェアをインストールすることによって完了する(ブロック828)。 統合はターミネータ・ブロック818に移行し、終了する。

    オンデマンド プロセス・ソフトウェアは共用され、柔軟な自動化方式で複数のカスタマに同時に供応する。 これは標準化され、カスタマイズをほとんど必要とせず、スケーラブルであって、従量料金制度(pay-as-you-go)モデルでオンデマンドで容量を提供する。

    プロセス・ソフトウェアは、1つまたは複数のサーバからアクセス可能な共用ファイル・システム上に保管することができる。 プロセス・ソフトウェアは、データとアクセスされたサーバ上のCPU単位(CPU unit)を使用するサーバ処理要求とを含むトランザクションを介して実行される。 CPU単位とは、サーバの中央演算処理装置上の分数、秒数、時間数などの時間単位である。 さらに、アクセスされたサーバは、CPU単位を必要とする他のサーバの要求を行うことができる。 CPU単位は、1つの使用測定値(measurement of use)のみを表す一例である。 その他の使用測定値としては、ネットワーク帯域幅、メモリ使用率、記憶域使用率、パケット転送、完全なトランザクションなどを含むがこれらに限定されない。

    複数のカスタマが同じプロセス・ソフトウェア・アプリケーションを使用する場合、それぞれのトランザクションは、トランザクションに含まれるパラメータのうち、固有のカスタマおよびそのカスタマ用のサービスのタイプを識別するパラメータによって区別される。 各カスタマ用のサービスに使用されるCPU単位およびその他の使用測定値のすべてが記録される。 任意の1つのサーバへのトランザクションの数がそのサーバのパフォーマンスに影響を及ぼし始める数に到達すると、容量を増加し、ワークロードを分担するために、他のサーバがアクセスされる。 同様に、ネットワーク帯域幅、メモリ使用率、記憶域使用率などのその他の使用測定値がパフォーマンスに影響を及ぼすほど容量に近づくと、ワークロードを分担するために追加のネットワーク帯域幅、メモリ使用率、記憶域などが追加される。

    各サービスおよびカスタマに使用される使用測定値は、プロセス・ソフトウェアの共用実行を提供するサーバのネットワーク内のどこかで処理された各サービスごとに各カスタマに関する使用測定値を合計する収集サーバに送信される。 合計された使用単位の測定値には定期的に単価が掛けられ、その結果得られるプロセス・ソフトウェア・アプリケーション・サービスの総コストは、それに代わってカスタマに送信されるかまたはカスタマによってアクセスされたWebサイト上に示され、その後、カスタマはサービス・プロバイダに支払額を送金する。

    他の実施形態では、サービス・プロバイダは、銀行または金融機関にあるカスタマ口座(customer account)から直接支払を要求する。

    他の実施形態では、サービス・プロバイダもプロセス・ソフトウェア・アプリケーションを使用するカスタマのカスタマである場合、支払額の移転を最小限にするために、サービス・プロバイダに支払うべき支払額はサービス・プロバイダが支払うべき支払額に調整される。

    次に、図13〜図14に関して説明すると、イニシエータ・ブロック902はオンデマンド・プロセスを開始する。 固有のカスタマIDと、要求されたサービス・タイプと、サービスのタイプをさらに指定する任意のサービス・パラメータとを含むトランザクションが作成される(ブロック904)。 次に、トランザクションがメイン・サーバに送信される(ブロック906)。 オンデマンド環境では、メイン・サーバは最初は唯一のサーバである可能性があり、その後、容量が消費されるにつれて、他のサーバがオンデマンド環境に追加される。

    オンデマンド環境内のサーバの中央演算処理装置(CPU)の容量に対して照会が行われる(ブロック908)。 トランザクションのCPU要件が見積もられ、次にオンデマンド環境内のサーバ使用可能CPU容量がトランザクションのCPU要件と比較され、トランザクションを処理するために任意のサーバ内に十分なCPU使用可能容量が存在するかどうかを確認する(ブロック910)。 十分なサーバCPU使用可能容量が存在しない場合、トランザクションを処理するために追加のサーバCPU容量が割り振られる(ブロック912)。 すでに十分な使用可能CPU容量が存在していた場合、トランザクションは選択されたサーバに送信される(ブロック914)。

    トランザクションを実行する前に、その環境がトランザクションを処理するために十分な使用可能容量を備えているかどうかを判断するために、残りのオンデマンド環境についてチェックが行われる。 この環境容量は、ネットワーク帯域幅、プロセッサ・メモリ、記憶域などであるがこれらに限定されないものから構成される(ブロック916)。 十分な使用可能容量が存在しない場合、オンデマンド環境に容量が追加される(ブロック918)。 次に、トランザクションを処理するために必要なソフトウェアがアクセスされ、メモリにロードされ、次にトランザクションが実行される(ブロック920)。

    使用状況測定値(usage measurement)が記録される(ブロック922)。 使用状況測定値は、トランザクションを処理するために使用される、オンデマンド環境内の機能の一部分から構成される。 記録されるものは、ネットワーク帯域幅、プロセッサ・メモリ、記憶域、およびCPUサイクルなどの機能であるがこれらに限定されないものの使用状況である。 使用状況測定値は、合計され、単価が掛けられ、要求側カスタマへの課金として記録される(ブロック924)。

    オンデマンド・コストをWebサイトにポストすることをカスタマが要求した場合(照会ブロック926)、オンデマンド・コストがポストされる(ブロック928)。 オンデマンド・コストを電子メールを介してカスタマ・アドレスに送信することをカスタマが要求した場合(照会ブロック930)、これらのコストはカスタマに送信される(ブロック932)。 オンデマンド・コストをカスタマ口座から直接支払うことをカスタマが要求した場合(照会ブロック934)、支払額がカスタマ口座から直接受信される(ブロック936)。 次に、オンデマンド・プロセスはターミネータ・ブロック938で終了する。

    好ましい一実施形態に関して本発明を詳細に示し説明してきたが、当業者であれば、本発明の精神および範囲を逸脱せずに形式および詳細において様々な変更が可能であることを理解するであろう。 さらに、本明細書および特許請求の範囲で使用する「コンピュータ」または「システム」または「コンピュータ・システム」または「コンピューティング・デバイス」という用語は、パーソナル・コンピュータ、サーバ、ワークステーション、ネットワーク・コンピュータ、メイン・フレーム・コンピュータ、ルータ、交換機(switch)、携帯情報端末(PDA:Personal Digital Assistant)、電話、ならびにデータの処理、送信、受信、収集、または保管、あるいはこれらの組み合わせを行うことができる任意の他のシステムを含むがこれらに限定されない任意のデータ処理システムを含む。

    従来技術の「公開および加入」アーキテクチャを示す図である。

    複数のトピック・データ・ソースに同じメッセージを追加するために本発明で実行されるステップの「スイム・レーン」記述を示す図である。

    ワイルドカードを使用して異なるトピック・データ・ソースにメッセージを送信するために本発明で実行される例示的なステップの流れ図である。

    本発明を実現可能な例示的なクライアント・コンピュータを示す図である。

    図4に示すクライアント・コンピュータのユーザのために、本発明を実行するためのソフトウェアの配備または実現あるいはその両方を行える例示的なサーバを示す図である。

    図2〜図3に示し説明したステップを実行可能なソフトウェアを配備するために実行されるステップの流れ図である。

    図2〜図3に示し説明したステップを実行可能なソフトウェアを配備するために実行されるステップの流れ図である。

    図2〜図3に示し説明したステップを実行可能なソフトウェアを仮想私設網(VPN)内に配備するために実行されるステップの流れ図である。

    図2〜図3に示し説明したステップを実行可能なソフトウェアを仮想私設網(VPN)内に配備するために実行されるステップの流れ図である。

    図2〜図3に示し説明したステップを実行可能なソフトウェアを仮想私設網(VPN)内に配備するために実行されるステップの流れ図である。

    図2〜図3に示し説明したステップを実行可能なソフトウェアをコンピュータ・システムに統合するために実行されるステップを示す流れ図である。

    図2〜図3に示し説明したステップを実行可能なソフトウェアをコンピュータ・システムに統合するために実行されるステップを示す流れ図である。

    オンデマンド・サービス・プロバイダを使用して図2〜図3に示し説明したステップを実行するために実行されるステップを示す流れ図である。

    オンデマンド・サービス・プロバイダを使用して図2〜図3に示し説明したステップを実行するために実行されるステップを示す流れ図である。

    符号の説明

    402:クライアント・コンピュータ 404:プロセッサ・ユニット 406:システム・バス 408:ビデオ・アダプタ 410:ディスプレイ 412:バス・ブリッジ 414:入出力バス 416:入出力インターフェース 418:キーボード 420:マウス 422:CD−ROMドライブ 424:フレキシブル・ディスク・ドライブ 426:フラッシュ・ドライブ・メモリ 428:ネットワーク 430:ネットワーク・インターフェース 432:ハード・ディスク・インターフェース 434:ハード・ディスク 436:システム・メモリ 438:オペレーティング・システム 440:シェル 442:カーネル 444:アプリケーション・プログラム 446:ブラウザ 448:動的加入探索プログラム(DSDP)
    502:サービス・プロバイダ・サーバ

    高效检索全球专利

    专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

    我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

    申请试用

    分析报告

    专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

    申请试用

    QQ群二维码
    意见反馈