JP6291811B2 - 統一通信サービスのためのネットワーク機器アーキテクチャ - Google Patents

統一通信サービスのためのネットワーク機器アーキテクチャ Download PDF

Info

Publication number
JP6291811B2
JP6291811B2 JP2013244940A JP2013244940A JP6291811B2 JP 6291811 B2 JP6291811 B2 JP 6291811B2 JP 2013244940 A JP2013244940 A JP 2013244940A JP 2013244940 A JP2013244940 A JP 2013244940A JP 6291811 B2 JP6291811 B2 JP 6291811B2
Authority
JP
Japan
Prior art keywords
request
user
service
types
media
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
Application number
JP2013244940A
Other languages
English (en)
Other versions
JP2014106979A (ja
Inventor
クリシュナ ヴィカス
クリシュナ ヴィカス
バヨール ティモシー
バヨール ティモシー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of JP2014106979A publication Critical patent/JP2014106979A/ja
Application granted granted Critical
Publication of JP6291811B2 publication Critical patent/JP6291811B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/06Message adaptation to terminal or network requirements
    • H04L51/066Format adaptation, e.g. format conversion or compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/41Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Communication Control (AREA)
  • Telephonic Communication Services (AREA)

Description

本願明細書は、複雑なイベント処理及びビジネス活動モニタをサポートするサービス指向アーキテクチャを実施するシステム及び方法に関する。特に、本願明細書は、装置及び装置のクラウドと通信するアプリケーションプログラミングインタフェース又は統一サーバに関する。
消費者は、種々の消費者電子機器の選択肢を有する。しかしながら、消費者は異なるベンダの装置を用いるために、問題が生じる。各ベンダの装置は特定の方法で動作するので、消費者がそれらの装置と相互作用し及びそれらの装置を調整することを困難にする。結果として、食い違いが装置の連携を遅らせてしまう。
例えば、会社が会議室で会議を開くとき、従業員はモバイル装置を用い、会議室はスライドを投影するプロジェクタを有し、他のユーザは彼らのラップトップを用いてその会議に遠隔から接続する。遠隔ユーザは、ビデオ会議ソフトウェアを用いてリアルタイムにスライドを見ることができる。しかしながら、ソフトウェアは機能不良になることが多く、会議のアクセスコードが全ての参加者に送られていない、等である。さらに、この設定は、ユーザがイベントの前に会議室に来て、ラップトップにプレゼンテーションをダウンロードする等の必要がある。これは、時間を浪費し、装置が技術的困難を経験するときには会議が遅れてしまう。
ある解決策は、各装置のAPI(application programming interface)と接続するアプリケーションを開発することである。各ベンダの装置はその他の競合者と異なるAPIを有するので、アプリケーション開発者が全ての可能なAPIを調整し、効率的にアプリケーションを開発することは困難である。
さらに、クラウドは特定の装置に接続されるので、装置中心データのみがクラウドに登録され得る。その結果、全てのユーザ−マシン間相互作用は個々のクラウドで分裂してしまう。その結果、システムが、ユーザが異種装置の集合で生成し得るデータ及び使用パターンの総体的眺望を得られないので、各クラウドのコンテンツ値は低い。
また、各装置は、非公開に設けられた場合に消費者が設置し管理する又は公的に使用される場合に接続する異なるバックエンド又はサーバを有するので、装置のバックエンドを更新することは困難である。各装置は異なるバックエンドを有するので、ユーザは各装置のバックエンドを別個に更新しなければならない。さらに、各装置に関するデータは別個のシステムに存在るので、装置データのフラグメント化を生じ、装置データを相関させる機会を排除してしまう。
ある解決策は、全て同一の企業により製造された商品のホストを購入することである。例えば、消費者は、モバイルの必要性のためにiPhoneを、ラップトップにはMacintoshを、WiFi装置を管理するためにApple Airportを、そしてテレビを観るためにAppleTVを購入できる。しかしながら、これらの商品は、他の装置よりも高価であり、ビジネスには向かない。
本開示は、異種装置間で要求を変換するシステムにより、従来技術の欠点を克服する。
一実施形態では、システムは、エンタープライズサービスバス及びNAaaS(network appliance as a service)アプリケーションサービスを有する。エンタープライズサービスバスは、NAaaSアプリケーションサービスに、ネットワーク内の1又は複数種類の装置を識別し、各装置にIPアドレス及び名称を割り当てることにより前記ネットワーク内で使用するために前記1又は複数種類の装置を登録し、前記IPアドレスをIPアドレスリストに追加する。エンタープライズサービスバスは、第1の装置のために1又は複数の装置の第1のリストを生成し、前記第1の装置に関連するユーザから、前記第1のリストの中の第2の装置の選択を受信し、前記ユーザからの前記選択に関連する機能を有する第2のリストを生成し、前記第1の装置から前記第2のリストの中の前記機能のうちの1つを実行する要求を受信し、前記第1の装置から受信した前記要求の第1の通信プロトコルを前記第2の装置により使用される第2の通信プロトコルに変換して変換された要求を生成し、前記要求の第1のメッセージフォーマットを第2のメッセージフォーマットに変換し、前記変換された要求を前記第2の装置へ送信する。別の実施形態では、NAaaSアプリケーションサービスは、ネットワーク内の第1の装置の位置を識別し、エンタープライズサービスバスに前記第1の装置の位置から一定距離範囲内にある1又は複数の装置の第1のリストを提供する。
別の実施形態では、エンタープライズサービスバスは、NAaaSアプリケーションサービスに、グローバルインデックスと一致する要求に基づき、第1の装置から受信した要求が向けられている1又は複数のリソースサーバを決定するよう指示する。エンタープライズサービスバスは、前記要求の第1の通信プロトコルを前記1又は複数のリソースサーバにより使用される1又は複数種類の第2の通信プロトコルに変換し、前記要求の第1のメッセージフォーマットを前記1又は複数のリソースサーバにより使用されur1又は複数種類の第2のメッセージフォーマットに変換して変換された要求を生成し、前記要求の第1のメッセージフォーマットを1又は複数種類の第2のメッセージフォーマットに変換し、前記変換された要求を前記NAaaSアプリケーションサービスへ送信し、前記NAaaSアプリケーションサービスは、前記1又は複数のリソースサーバからの前記変換された要求と一致する1又は複数種類のメディアを読み出す。
他の態様は、上述の及び他の新規な態様のための対応する方法、システム、装置及びコンピュータプログラムを有する。
有利なことに、システムは、クライアントアプリケーションの開発及び保守を簡略化し高速化し、さらに一貫したユーザ経験を可能にする統一APIを提示し、ミドルウェアサーバ及び一箇所で全てを記録するミドルウェアサーバのアプリケーション関連サービスを提供する。このように、情報は、異なるベンダからの全ての装置に渡って相関付けられ、より高い価値のサービスを提供する。さらに、システムは、ネットワーク内の全ての装置にアクセスするシングルサインオンを生成する。本願明細書に記載される特徴及び利点は網羅的ではなく、図面及び説明を参照して多くの追加の特徴及び利点が明らかになるだろう。さらに、留意すべき点は、本願明細書で用いられる語は、基本的に読み易さ及び説明的目的で選択されており、本願明細書に開示された事項の範囲を制限しない。
本発明は、例を用いて説明され、添付の図面に限定されるものではない。図中、同様の参照符号は同様の要素を表すために用いられる。
統一通信をサポートするサービス指向アーキテクチャを実装するシステムの一実施形態を示すハイレベルブロック図である。 統一通信をサポートするサービス指向アーキテクチャを実装するシステムの別の実施形態を示すハイレベルブロック図である。 エンタープライズサービスバスの一実施形態を示すブロック図である。 NAaaS(Network Appliance as a Service)アプリケーションサービスの一実施形態を示すブロック図である。 ユーザにサービス概観を提供するウェブページを表示するユーザインタフェースの一実施形態のグラフィック表現である。 協調コンピューティング装置で閲覧するためのメディアタイプを選択するユーザインタフェースの一実施形態のグラフィック表現である。 表示のためにメディアを送信する位置を選択するユーザインタフェースの一実施形態のグラフィック表現である。 ユーザ装置の位置の又はその設定距離内の装置リストを表示するユーザインタフェースの一実施形態のグラフィック表現である。 ユーザ装置102から選択された協調コンピューティング装置へ送信するコマンドリストを表示するユーザインタフェースの一実施形態のグラフィック表現である。 協調コンピューティング装置で文書を表示するソースを選択する選択肢リストを表示するユーザインタフェースの一実施形態のグラフィック表現である。 メディアリストを表示するユーザインタフェースの一実施形態のグラフィック表現である。 メディアリストを表示するユーザインタフェースの別の実施形態のグラフィック表現である。 ユーザのために電子カレンダ内のイベントを生成するユーザインタフェースの一実施形態のグラフィック表現である。 カレンダイベントのために予約された1又は複数の装置のためにアップロードするメディアを選択するユーザインタフェースの一実施形態のグラフィック表現である。 カレンダ内に生成されたイベントの概観を提供するユーザインタフェースの一実施形態のグラフィック表現である。 協調コンピューティング装置の構成設定を指定するため及び構成設定をオン又はオフにするためのユーザインタフェースの一実施形態のグラフィック表現である。 1又は複数種類の装置間の通信を管理する方法の一実施形態のフロー図である。 異種装置間の相互接続性を制御する方法の一実施形態のフロー図である。 異種装置間の相互接続性を制御する方法の別の実施形態のフロー図である。 装置により実行される各トランザクションについて決定される請求情報に基づき請求書を生成する方法の一実施形態のフロー図である。 1又は複数のリソースサーバのグローバルデータベースインデックスをコンパイルする方法の一実施形態のフロー図である。 1又は複数のリソースサーバの要求を変換する方法の一実施形態のフロー図である。 カレンダイベントのために予約された1又は複数の装置を制御する方法の一実施形態のフロー図である。 カレンダイベントのために予約された1又は複数の装置を制御する方法の別の実施形態のフロー図である。 カレンダイベントのための1又は複数の通知を生成する方法の一実施形態のフロー図である。
以下に、複雑なイベント処理及びビジネス活動モニタをサポートするサービス指向アーキテクチャを実施するシステム及び方法を説明する。以下の説明では、説明を目的として、本発明の実施形態の完全な理解を提供するために、多くの詳細事項が説明される。しかしながら、当業者は、実施形態がそのような特定の詳細にかかわらず実施できることを理解するだろう。他の例では、本発明を不明瞭にしないために、構造及び装置がブロック図で示される。例えば、本発明は、以下の一実施形態では、スマートフォン及び特定のソフトウェア及びハードウェアのようなユーザ装置を参照して説明される。しかしながら、以下の説明は、データ及びコマンドを受信可能な如何なる種類のコンピューティング装置、並びにサービスを提供する如何なる周辺装置にも適用される。
本願明細書において「一実施形態」又は「ある実施形態」等のような表現は、実施形態と関連して記載された特定の機能、構造又は特徴が少なくとも1つの実施形態に含まれることを意味する。明細所内の種々の文の中の「一実施形態では」という表現の出現は、必ずしも全て同じ実施形態を参照していない。
以下の詳細な説明の一部は、コンピュータメモリ内のデータビットに対する動作のアルゴリズム及び象徴的表現の観点で提供される。これらのアルゴリズムの説明及び表現は、データ処理技術の当業者により、業務内容を最も効率的に他の当業者に伝えるために用いられる手段である。アルゴリズムは、ここでは及び概して、所望の結果を生じる自己矛盾のないステップシーケンスであると考えられる。ステップは、物理量の物理的操作を必要とするステップである。通常、必ずしも必要ではないが、これらの量は、格納され、転送され、結合され、比較され及びその他の場合には操作され得る電気信号又は磁気信号の形式を取る。基本的に一般的に用いられるという理由で、これらの信号をビット、値、要素、シンボル、文字、語、数値、等として表すことが便利であることが分かっている。
しかしながら、これらの及び類似の語の全ては、適切な物理量に関連付けられ、これらの量に適用される便宜的ラベルに過ぎない。特に断りのない限り、以下の議論から明らかなように、以下の説明を通じて、「処理」、「計算」又は「演算」又は「決定」又は「表示」等の語を用いた議論は、コンピュータシステム又は同様の電子コンピューティング装置の動作及び処理を表す。コンピュータシステム又は同様の電子コンピューティング装置は、コンピュータシステムのレジスタ及びメモリ内にある物理(電子)量として表されたデータを操作し、コンピュータシステムのメモリ若しくはレジスタ又は情報記憶、送信又は表示装置等の中の物理量として同様に表される他のデータに変換する。
本発明は、本願明細書の動作を実行する装置にも関する。この装置は、所要の目的のために特に構成されても良く、又はコンピュータに格納されたコンピュータプログラムにより選択的に起動され又は再構成される汎用目的コンピュータを有しても良い。このようなコンピュータプログラムは、フロッピディスク、光ディスク、CD−ROM及び磁気ディスクを含む任意の種類のディスク、ROM(read-only memory)、RAM(random access memory)、EPROM、EEPROM、磁気若しくは光カード、不揮発性メモリを有するUSBキーを含むフラッシュメモリ、又は電子命令を格納するのに適する任意の種類の媒体のような、各々がコンピュータシステムバスに結合された、しかしこれらに限定されないコンピュータ可読記憶媒体に格納されても良い。
幾つかの実施形態は、完全なハードウェアの実施形態、完全なソフトウェアの実施形態又はハードウェアとソフトウェア要素の両方を含む実施形態の形式を取り得る。好適な実施形態は、ファームウェア、常駐ソフトウェア、マイクロコード等を含むがこれらに限定されないソフトウェアで実装されても良い。
さらに、幾つかの実施形態は、コンピュータ又は任意の命令実行システムにより又はそれと関連して使用するためのプログラムコードを提供するコンピュータにより使用可能な又はコンピュータにより読み取り可能な媒体からアクセス可能なコンピュータプログラムプロダクトの形式を取り得る。本発明の目的のために、コンピュータにより使用可能な又はコンピュータにより読み取り可能な媒体は、命令実行システム、機器又は装置により若しくはそれらと関連して使用するためのプログラムを有し、格納し、通信し、伝達し又は転送することが可能な任意の機器であっても良い。
プログラムコードを格納し及び/又は実行するのに適するデータ処理システムは、システムバスを通じてメモリ要素に直接又は間接に結合される少なくとも1つのプロセッサを有する。メモリ要素は、プログラムコードの実際の実行中に用いられるローカルメモリ、大容量記憶装置、及び実行中にコードが大容量記憶装置から読み出されなければならない回数を低減するために少なくとも特定のプログラムコードの一時的記憶を提供するキャッシュメモリを含み得る。入力/出力又はI/O装置(キーボード、ディスプレイ、ポインティングデバイス等を含むがこれらに限定されない)は、直接に又は介入するI/O制御部を通じてシステムに結合され得る。
ネットワークアダプタも、介入する私設若しくは公衆ネットワークを通じてデータ処理システムを他のデータ処理システムに又は遠隔プリンタ若しくは記憶装置に結合するために、システムに結合されても良い。モデム、ケーブルモデム及びEthernet(登録商標)カードは、現在利用可能な種類のネットワークアダプタのうちの少数の例に過ぎない。
最後に、本願明細書で提示されるアルゴリズム及びディスプレイは、本質的に、任意の特定のコンピュータ又は他の機器にも関連しない。種々の汎用システムが、本願明細書の教示に従ってプログラムと共に用いられても良く、所要の方法ステップを実行するために更に特定の装置を構成することが都合が良いことがあり得る。種々のこれらのシステムの所要の構造は、以下の説明から明らかである。さらに、本願明細書は、任意の特定のプログラミング言語を参照して記載されない。理解されるべきことに、種々のプログラミング言語が、本願明細書に記載された種々の実施形態の教示を実施するために用いられても良い。
<システム概要>
図1Aは、複雑なイベント処理及びビジネス活動モニタをサポートするサービス指向アーキテクチャを実施するシステム100のハイレベルブロック図を示す。システム100の図示の実施形態は、ユーザ装置102a102n、協調コンピューティング装置103a−103n、ネットワーク104、ウェブサーバ120、NAaaS(Network Appliance As A Service)ミドルウェアサーバ101、及びNAaaSアプリケーションサーバ123を有する。図1A及び以下の図では、参照符号の後の文字は、例えば「102a」は、特定の参照符号を有する要素への参照である。文章中の、後続の文字を有しない参照符号、例えば「102」は、その参照符号を付された要素の任意の又は全ての例への全般的な参照である。
ネットワーク104は、従来型の有線又は無線であり、スター型、トークンリング型又は当業者に知られている他の構成のような任意の数の構成を有しても良い。さらに、ネットワーク104は、LAN(local area network)、WAN(wide area network)(例えば、インターネット)、及び/又は複数のサービスが通信できる任意の他の相互接続されたデータ経路を有しても良い。更に別の実施形態では、ネットワーク104は、ピアツーピアネットワークであっても良い。ネットワーク104は、種々の異なる通信プロトコルでデータを送信する通信ネットワークの一部に結合され又はそれを含んでも良い。更に別の実施形態では、ネットワーク104は、Bluetooth(登録商標)通信ネットワーク又はSMS(short messaging service)、MMS(multimedia messaging service)、HTTP(hypertext transfer protocol)、直接データ接続、WAP、電子メール等を介してデータを送信及び受信するセルラ通信ネットワークを有しても良い。1つのネットワーク104のみが複数のユーザ装置102a−102n、複数の協調コンピューティング装置103a−103n、ウェブサーバ120、NAaaSサーバ123及びNAaaSミドルウェアサーバ101に結合されるが、実際には、任意の数のネットワーク104がこれらのエンティティに接続できる。
ユーザ装置102a−102nは、特定ユーザに関連付けられた装置である。例えば、会社は、自身の従業員にモバイル装置又はラップトップを供給する。ユーザ装置102a−102nの各々は、それぞれ信号線112a−112nを介してネットワーク104に結合される。ユーザ装置102は、メモリ、プロセッサ及び通信能力を有する任意のコンピューティング装置である。例えば、ユーザ装置102は、タブレットコンピュータ、パーソナルデジタルアシスタント、スマートフォン、フューチャフォン等であり得る。ユーザ装置102は、無線で又は有線接続を通じてネットワーク104と通信できる。ユーザ装置102は、エンタープライズサービスバス107により処理されるべきメッセージを生成する1又は複数のユーザアプリケーション(図示しない)を有する。
ユーザ装置102は、データをNAaaSミドルウェアサーバ101へ送信し及びそれから受信するよう適応される。例えば、ユーザ装置102は、プレゼンテーションプログラム文書の画像を複数の協調コンピューティング装置103a−103nのうちの少なくとも1つで投影するコマンドを、NAaaSミドルウェアサーバ101へ送信する。ユーザ装置102は、エンタープライズサービスバス107により提供される情報を閲覧するためのディスプレイを有する。例えば、ユーザ装置102は、ユーザ装置102で表示するために、複数の協調コンピューティング装置103a−103nを一覧表にするNAaaSミドルウェアサーバ101からグラフィカルデータを受信する。
ユーザ装置102が他のユーザ装置102又は協調コンピューティング装置103とNAaaSミドルウェアサーバ101を介して相互作用できるように、ユーザ装置102は自身の位置を決定する。ユーザ装置102は、自身の位置を決定するために装置自体に含まれるGPS(global positioning system)回路を用いることにより、自身の位置情報を決定する。ユーザ装置102の位置を屋内で決定するために、ユーザ装置102は、無線周波数、超音波信号又は不可視光通信を用いる。例えば、ユーザ装置102は、無線アクセスポイントを通じて、受信信号強度の測定に基づき、自身の位置を決定する。ユーザ装置102は、MAC(media access control)アドレス及びインターネット上の位置の組を有するデータベースにアクセスする。位置を決定するために、ユーザ装置102は、アクセスポイントMACアドレスに対応する位置をデータベースから読み出す。
別の実施形態では、ユーザ装置102は、SNMP、ICMP、Bonjour等のような特定のプロトコルを用いてネットワーク104を介して機能する装置発見処理を実行する。例えば、ユーザ装置102は、NAaaSミドルウェアサーバ101に装置を発見するよう問い合わせる。NAaaSミドルウェアサーバ101は、SNMP又はICMPプロトコルを用いて、装置を発見し、発見した装置をそれらのIP(internet protocol)アドレス及びMAC(media access control)アドレス等と共にユーザ装置102に報告する。
協調コンピューティング装置103a−103nは、特定の位置及び/又は特定の機能を関連付けられた装置である。協調コンピューティング装置103a−103nは、会議室に割り当てられ、又は会議に割り当てられ得る。例えば、プロジェクタ及び対話型ホワイトボードは、ビル内の複数の会議室のうち選択された会議室に割り当てられ得る。協調コンピューティング装置103a−103nの各々は、それぞれ信号線113a−113nを介してネットワーク104に結合される。協調コンピューティング装置103は、メモリ及びプロセッサを有する任意のコンピューティング装置である。例えば、協調コンピューティング装置103は、プロジェクタ、モニタ、テレビジョン、対話型ホワイトボード、ウェブカメラ、マイクロフォン、ラウドスピーカ、CD/DVDプレイヤ、電子ペーパ装置、電子リーダ、デスクトップコンピュータ、タブレット、スマートフォン等であり得る。
協調コンピューティング装置103は、データをNAaaSミドルウェアサーバ101へ送信し及びそれから受信するよう適応される。例えば、会議室内のプロジェクタは、NAaaSミドルウェアサーバ101からプレゼンテーションプログラム文書を受信できる。別の例では、ウェブカメラ、マイクロフォン及びモニタを有する第1の位置にあるビデオ会議装置は、リアルタイムオーディオビデオ同期通信データストリームをキャプチャし、それをNAaaSミドルウェアサーバ101内のエンタープライズサービスバス107を通じて第2の位置にある別のビデオ会議装置へ送信できる。
NAaaSミドルウェアサーバ101は、メモリ及びプロセッサを有する任意のコンピューティング装置であり、信号線116を介してネットワーク104に接続される。NAaaSミドルウェアサーバ101は、エンタープライズサービスバス107を有する。エンタープライズサービスバスは、図2Aを参照して以下に詳細に記載される。
エンタープライズサービスバス107は、互いに独立に通信するよう配置される異種装置及びそれらの対応するリソースサーバの1又は複数のネットワークとの標準的インタフェースを提供するソフトウェア及びルーチンを有する。一実施形態では、エンタープライズサービスバス107は、起動支援、ルーティング(例えば、コンテンツに基づくルーティング、静的/動的ルーティング、ポリシに基づくルーティング、ルールに基づくルーティング)、プロセスコレオグラフィ、サービスオーケストレーション、複雑なイベント処理、セキュリティ及び管理(例えば、モニタリング、ロギング)を含む1又は複数のサービスを実行する。エンタープライズサービスバス107は、サービスを実施するNAaaSアプリケーションサービス106にあるコード内に含まれるメソッドを呼び出す。例えば、エンタープライズサービスバス107は、NAaaSアプリケーションサービスに、ユーザを認証し、装置使用エントリを登録し、メディアを格納し、メディアを分析し、ユーザのスキルに関連するキーワードをインデックス付けし、ユーザクエリと一致するスキルを有するユーザプロファイルについてデータベースを検索するよう命令する。
ユーザ装置102a−102n又は協調コンピューティング装置103a―103nは、特定の通信プロトコルを介して特定のメッセージングフォーマットを用いて、エンタープライズサービスバス107を通じて互いに通信し及びサービス要求を送信する。メッセージフォーマットは、メッセージの構造及び形式を定める。例えば、メッセージフォーマットは、SOAP(Simple Object Access Protocol)、XML(eXtensible Markup Language)等を有する。通信プロトコルは、シンタックス、セマンティクス、及び通信の同期を規定するルールセットを定める。例えば、通信プロトコルは、FTP(File Transfer Protocol)、HTTP(Hypertext Transfer Protocol)、MQ(Message Queue)、HOP(Internet Inter-Orb Protocol)等を有する。エンタープライズサービスバス107及びNAaaSアプリケーションサービス106は別個のサーバに存在するとして図示されたが、一実施形態では、それらは同一のサーバに存在する。
NAaaSアプリケーションサーバ123は、メモリ及びプロセッサを有する任意のコンピューティング装置であり、信号線124を介してネットワーク104に接続される。NAaaSアプリケーションサーバ123は、より高レベルのサービスを提供するためにアプリケーションとして抽出されエンタープライズサービスバス107により組み立てられた実装サービスの集合であるNAaaSアプリケーションサービス106を有する。NAaaSアプリケーションサービス106は、図2Bを参照して以下に詳細に記載される。
ウェブサーバ120は、メモリ及びプロセッサを有する任意のコンピューティング装置であり、信号線122を介してネットワーク104に接続される。ウェブサーバ120は、ユーザインタフェースエンジン121を有する。ウェブサーバ120は図1Aに別個のサーバとして示されるが、幾つかの実施形態では、ユーザインタフェースエンジン121は、ユーザ装置102に格納されるか又はスタンドアロン型アプリケーションとして機能しても良い。
ユーザインタフェースエンジン121は、ユーザインタフェースを表示するためにグラフィカルデータを生成するソフトウェア及びルーチンである。一実施形態では、ユーザインタフェースエンジン121は、ユーザインタフェースを表示するグラフィカルデータを生成する後述の機能を提供するために、プロセッサにより実行可能な命令セットである。別の実施形態では、ユーザインタフェースエンジン121は、メモリに格納され、プロセッサによりアクセス可能且つ実行可能である。
ユーザインタフェースエンジン121は、協調コンピューティング装置103を制御するために、情報を表示するためのグラフィカルデータを生成する要求を受信する。例えば、ユーザインタフェースエンジン121は、特定の位置において利用可能な協調コンピューティング装置103又は各協調コンピューティング装置103と関連する機能を一覧表示するウェブページを表示するためのグラフィカルデータを生成する。ユーザは情報を入力し、ユーザインタフェースエンジン121はその情報をエンタープライズサービスバス107へ送信し、実行されるべき動作を決定する。例えば、ユーザ装置102が、要求に含まれる画像を投影するためにプロジェクタに命令を送信する場合、ユーザインタフェースエンジン121は、その要求をエンタープライズサービスバス107へ送信する。エンタープライズサービスバス107は、その要求をプロジェクタへ送信し、その要求に対して他の動作を実行するようNAaaSアプリケーションサービス106に命令する。図3−14は、例示的なユーザインタフェースを有する。
別の実施形態では、ユーザインタフェースエンジン121は、検索ユーザインタフェースを表示するためのグラフィカルデータを生成する要求を受信する。例えば、ユーザインタフェースエンジン121は、1又は複数の語のクエリを入力するためのテキストボックスを有するウェブページを表示するためのグラフィカルデータを生成する。ユーザはクエリを入力し、ユーザインタフェースエンジン121はそのクエリをエンタープライズサービスバス107へ送信し、エンタープライズサービスバス107はNAaaSアプリケーションサービス106へ要求を送信する。検索ユーザインタフェースは、要求元による検索クエリを入力するための入力を有しても良い。検索クエリは、テキスト情報、視覚情報又は聴覚情報を有しても良い。
NAaaSアプリケーションサービス106は、1又は複数のリソースサーバから一致する検索結果を読み出し、その検索結果をエンタープライズサービスバス107へ送信する。エンタープライズサービスバス107は、その検索結果をユーザ装置102へ送信する。一実施形態では、ユーザインタフェースエンジン121は、1又は複数のプロファイル及び1又は複数のメディア種類を、エンタープライズサービスバス107を介して要求元へ送信する。検索ユーザインタフェースの一例は、図9−10を参照して以下に詳細に記載される。
図1Bは、複雑なイベント処理及びビジネス活動モニタをサポートするサービス指向アーキテクチャを実施するシステム110の別のハイレベルブロック図を示す。システム110の図示の実施形態は、第1層としてユーザ装置102a−102n、第2層としてエンタープライズサービスバス107、並びに第3層としてNAaaSアプリケーションサービス106、協調コンピューティング装置103a−103n及びそれらの対応するリソースサーバ105a−105nを有する。リソースサーバ105a−105nの各々は、協調コンピューティング装置103a−103nが要求に応答してトランザクションを実行するときはいつでも、メディア種類のコピーを格納し、対応する協調コンピューティング装置103a−103nと関連付けられたメディア種類をインデックス付けする。例えば、プロジェクタリソースサーバは投影されたプレゼンテーションプログラム文書を格納し、ビデオ会議リソースサーバはビデオ会議のビデオ録画を格納し、対話型ホワイトボードサーバは対話型ホワイトボードの画像を格納する。
エンタープライズサービスバス107レイヤは、ユーザ装置102a−102nレイヤから到来する要求を処理し、それらの要求を処理のためにNAaaSアプリケーションサービス106へ、並びに協調コンピューティング装置103a−103n及びそれらの対応するリソースサーバ105a−105nへ中継する。一実施形態では、エンタープライズサービスバス107レイヤは、エンタープライズサービスレイヤ107に接続してメッセージを送信し応答を受信するユーザ装置102a−102nにあるユーザアプリケーションにインタフェースを提供する1又は複数のポートを有する。別の実施形態では、エンタープライズサービスバス107レイヤは、NAaaSアプリケーションサービス106レイヤ、並びに協調コンピューティング装置103a−103n及びそれらの対応するリソースサーバ105a−105nを有するレイヤと通信するために1又は複数のポートを有する。一実施形態では、エンタープライズサービスバス107にあるポートは、ユーザアプリケーションの特定メッセージフォーマット及び通信プロトコルのメッセージ及び通信のみを処理する特定のポート種類であっても良い。別の実施形態では、エンタープライズサービスバス107にあるポートは、エンタープライズサービスバス107との汎用インタフェースを含み、任意のメッセージフォーマット及び通信プロトコルの組合せを処理できる汎用ポート種類であっても良い。
<エンタープライズサービスバス>
図2Aを参照すると、エンタープライズサービスバス107の一例がより詳細に示される。図2Aは、プロセッサ240、メモリ245、通信ユニット250及びエンタープライズサービスバス107を有するサーバ101のブロック図である。
プロセッサ240、メモリ245、通信ユニット250及びエンタープライズサービスバス107は、バス220に通信可能に結合される。バス220は、ISA(industry standard architecture)バス、PCI(peripheral component interconnect)バス、USB(universal serial bus)又は同様の機能を提供する従来知られている特定の他のバスを含む1又は複数のバスを表しても良い。
プロセッサ240は、論理演算ユニット、マイクロプロセッサ、汎用制御部、又は計算を実行しディスプレイ装置に電子表示信号を提供する特定の他のプロセッサアレイを有する。プロセッサ240は、信号線231を介してサーバ101の他のコンポーネントと通信するためにバス220に結合される。プロセッサ240は、データ信号を処理し、CISC(complex instruction set computer)アーキテクチャ、RISC(reduced instruction set computer)アーキテクチャ、又は命令セットの組合せを実施するアーキテクチャを含む種々のコンピューティングアーキテクチャを有しても良い。図2Aには単一のプロセッサのみを示したが、複数のプロセッサが含まれても良い。処理能力は、画像表示のサポート、画像のキャプチャ及び送信に限られても良い。処理能力は、種々の種類の特徴抽出及びサンプリングを含むより複雑なタスクを実行するために十分であっても良い。当業者には、他のプロセッサ、オペレーティングシステム、センサ、ディスプレイ、物理的構成が可能であることが明らかである。
メモリ245は、プロセッサ240により実行され得る命令及び/又はデータを格納する。メモリ245は、信号線233を介してNAaaSミドルウェアサーバ101の他のコンポーネントと通信するためにバス220に結合される。命令及び/又はデータは、本願明細書に記載した技術のいずれか及び/又は全てを実行するコードを有しても良い。メモリ245は、DRAM(dynamic random access memory)素子、SRAM(static random access memory)素子、フラッシュメモリ又は従来知られている特定の他のメモリ素子であっても良い。一実施形態では、メモリ245は、不揮発性メモリ、又は同様の永久記憶装置、及び媒体ハードディスクドライブ、フロッピディスクドライブ、CD−ROM装置、DVD−ROM装置、DVD−RAM装置、DVD−RW装置、フラッシュメモリ装置又は従来知られているより永久的に情報を格納する特定の他の大容量記憶装置のような媒体も含む。
通信ユニット250は、プロセッサ240に接続することにより、ネットワーク104及び他の処理システムからデータを受信し及びそれへ送信するハードウェアである。通信ユニット250は、画像、ビデオ又は文書のようなデータを、複数のユーザ装置102a−102nから受信する。通信ユニット250は、ウェブサーバ120から特定のサブジェクトに関連するメディアに対する要求を受信する。通信ユニット250は、ウェブサーバ120から1又は複数のメディア種類に対する要求も受信する。通信ユニット250は、複数の協調コンピューティング装置103a−103nへ情報を送信する。例えば、通信ユニット250は、画像、文書又はビデオを表示するためのグラフィカルデータを送信する。通信ユニット250は、信号線235を介してNAaaSミドルウェアサーバ101の他のコンポーネントと通信するためにバス220に結合される。
一実施形態では、通信ユニット250は、ユーザ装置102、協調コンピューティング装置103、リソースサーバ105、NAaaSアプリケーションサーバ123、ウェブサーバ120又は別の通信チャネルとの直接物理接続のためのポートを有する。例えば、通信ユニット250は、ESB107との有線通信のためにRJ14又は類似のポートを有する。別の実施形態では、通信ユニット250は、IEEE802.11、IEEE802.16、Bluetooth(登録商標)又は別の適切な無線通信方法のような1又は複数の無線通信方法を用いて、ユーザ装置102又は任意の他の通信チャネルとデータを交換するために無線通信機を有する。
更に別の実施形態では、通信ユニット250は、SMS(short messaging service)、MMS(multimedia messaging service)、HTTP(hypertext transfer protocol)、直接データ接続、WAP、電子メール又は他の適切な種類の電子通信等を介してセルラネットワークでデータを送信及び受信するセルラ通信トランシーバを有する。更に別の実施形態では、通信ユニット250は、有線ポート及び無線通信機を有する。通信ユニット250は、当業者に理解されるように、TCP/IP、FTP、HTTP、HTTPS及びSMTPのような標準的ネットワークプロトコルを用いてファイル及び/又はメディアオブジェクトを分配するために、ネットワークへの他の従来型接続も提供する。
データ記憶255は、NAaaSミドルウェアサーバ101の機能のためにデータを格納する非一時的メモリである。データ記憶255は、信号線237を介してサーバ101の他のコンポーネントと通信するためにバス220に結合される。
一実施形態では、データ記憶255は、プロトコル変換のために通信プロトコル及びメッセージフォーマットのライブラリを格納する。データ記憶255が格納する通信プロトコル及びメッセージフォーマットは、例えば、SOAP(Simple Object Access Protocol)、XML(eXtensible Markup Language)、JMS(Java(登録商標) Message Service)、FTP(File Transfer Protocol)、HTTP(Hypertext Transfer Protocol)、MQ(Message Queue)、HOP(Internet Inter-Orb Protocol)、REST(Representational State Transfer)、JSON(JavaScript(登録商標) Object Notation)、DCOM(Distributed Component Object Model)等を含む。幾つかの実施形態では、プロトコル適応エンジン205は、プロトコル及びメッセージフォーマットにアクセスし、受信側と互換性のあるプロトコル及びメッセージフォーマットに要求を変換する。
エンタープライズサービスバス107は、ワークフローエンジン201、装置管理エンジン203、プロトコル適応エンジン205、メッセージ変換エンジン207、及びメッセージ拡張エンジン2093を有する。エンタープライズサービスバス107のこれらのコンポーネントは、バス220を介して互いに通信可能に結合される。
ワークフローエンジン201は、基本エンタープライズサービスバス機能を実行し及びNAaaSミドルウェアサーバ101のコンポーネントとシステム100の他のコンポーネントとの間の通信を処理するソフトウェア及びルーチンである。一実施形態では、ワークフローエンジン201は、要求を受信し、その要求をルーティングし、幾つかのステップを実行し、及びNAaaSアプリケーションサービス106及び協調コンピューティング装置103及びそれらの対応するリソースサーバ105a−105nと相互作用して該要求を満たす後述の機能を提供するためにプロセッサ240により実行可能な命令セットである。いずれの実施形態でも、ワークフローエンジン201は、プロセッサ240、通信ユニット250及びNAaaSミドルウェアサーバ101の他のコンポーネントと信号線222を介して連携し及び通信するよう適応される。
ワークフローエンジン201は、要求を受信し、その要求を処理し、NAaaSアプリケーションサービス106及び協調コンピューティング装置103及びそれらの対応するリソースサーバ105a−105nと通信して該要求を完了する。例えば、ワークフローエンジン201は、ユーザ装置102から、協調コンピューティング装置103の1つに画像を投影する要求を受信する。ワークフローエンジン201は、NAaaSアプリケーションサービス106の一部であるユーザ管理サービス210と相互作用し、装置使用分析サービス212にコマンド、ユーザ装置102に関連付けられたユーザのユーザ識別子、要求の日時、及びユーザ装置102のIPアドレスを記録するよう命令し、メディアレポジトリサービス206と相互作用することによりユーザがレポジトリに送信した画像をコピーし、画像の光学文字認識を実行し、及びメディア分析サービス208と相互作用することにより画像にキーワードをインデックス付けすることにより、ユーザ装置102に関連付けられたユーザを認証し、並びに画像を投影するために協調コンピューティング装置103へ送信する。
ワークフローエンジン201は、通信ユニット250を介して情報を受信し、エンタープライズサービスバス107の適切なコンポーネント又はシステム100のコンポーネントへ情報を送信する。一実施形態では、ワークフローエンジン201は、協調コンピューティング装置103へメディアを送信する要求を受信する。ワークフローエンジン201は、1又は複数の種類のメディアを受信できる。ワークフローエンジン201は、協調コンピューティング装置103へメディアをルーティングし又は送信する。例えば、ワークフローエンジン201は、ユーザ装置102(例えば、スマートフォン)から、協調コンピューティング装置103(例えば、プロジェクタ又はモニタ)により表示するために画像を受信する。
別の実施形態では、ワークフローエンジン201は、特定領域又は主題のメディアリストに対する要求をウェブサーバ120から受信する。ワークフローエンジン201は、要求に含まれる検索語に基づきデータ記憶268の検索を実行するために、要求をNAaaSアプリケーションサービス106へ送信する。NAaaSアプリケーションサービス106が一致した結果を返すと、ワークフローエンジン201は、その結果を、ウェブサーバ120へ要求を提出したユーザ装置102における要求元へ送信する。一実施形態では、要求のコンテキストを決定するのに応答して、ワークフローエンジン201は、グローバルインデックスと一致する要求に基づき、要求が向けられた1又は複数のリソースサーバ105を決定する。ワークフローエンジン201は、データ記憶268に格納されたグローバルインデックスにアクセスする。
要求元は、主題に関連する1又は複数のメディア種類について検索クエリを提供しても良い。例えば、要求元は、Linux(登録商標)に関連するメディアを発見することを要求しても良い。検索クエリは、テキストを有しても良い。例えば、要求元は、ウェブサーバ120のユーザインタフェースエンジン121により生成された検索ユーザインタフェースのテキスト入力ボックスに単語「Linux」を与える。検索クエリは、視覚情報を有しても良い。例えば、要求元は、Tux、つまりLinuxのマスコットの画像又はビデオを与えても良い。検索クエリは、音声情報を有しても良い。例えば、要求元は、単語「Linux」と言っている音声のオーディオを与えても良い。ワークフローエンジン201は、処理のためにNAaaSアプリケーションサービス106へ検索クエリを送信する。
別の実施形態では、ワークフローエンジン201は、要求を受信し、プロトコル適応エンジン205へその要求を送信し、プロトコル適応エンジン205にその要求を検索エンジン221へ送信するよう命令する。ここで、検索エンジン221は、NAaaSアプリケーションサービス106の1つである。一実施形態では、ワークフローエンジン201は、変換のために、第1の通信プロトコルの第1の装置に関連付けられたAPI(Application Programming Interface)から要求を受信する。一実施形態では、要求は、エンタープライズサービスバス107のメッセージキューにバッファリングされ、ワークフローエンジン201は、キュー内の要求を処理するために定期的にメッセージキューをポーリングする。ワークフローエンジン201は、要求のコンテキストを決定する。例えば、HTTPは、最初の行に例えば「category」を要求する。「SEARCH」は、ワークフローエンジン201に、要求が1又は複数のリソースサーバの検索であるというコンテキストを与える。2番目の行は例えば「service」である。「video」は、ワークフローエンジン201に、要求がビデオ録画の格納に関連する1又は複数のリソースサーバ向けであるというコンテキストを与える。3番目の行は例えば「type」である。「video device X」は、ワークフローエンジン201に、1又は複数のリソースサーバが「video device X」タイプに関連付けられているというコンテキストを更に与える。4番目の行は例えば「arguments」である。{“userid”: “u_0613902”, “URL”: “10.154.25.9”, “date”: “11/21/2012”, “filename”: “iOS”}は、ワークフローエンジン201のためにコンテキストを更に制限する。リソースサーバ105と通信するためにプロトコルが変換される必要がある状況では、ワークフローエンジンは、プロトコル適応エンジン205に、要求を適切に変換するよう命令する。
装置管理エンジン203は、1又は複数種類の装置の位置、1又は複数種類の装置に関連する機能、及び1又は複数種類の装置の状態を決定するコード及びルーチンである。一実施形態では、装置管理エンジン203は、1又は複数種類の装置に関連する位置、機能及び状態を決定する後述の機能を提供するために、プロセッサにより実行可能な命令セットである。別の実施形態では、装置管理エンジン203は、メモリ245に格納され、プロセッサ240によりアクセス可能且つ実行可能である。いずれの実施形態でも、装置管理エンジン203は、プロセッサ240、通信ユニット250、制御部202及びNAaaSミドルウェアサーバ101の他のコンポーネントと信号線223を介して連携し及び通信するよう適応される。
一実施形態では、装置管理エンジン203は、NAaaSアプリケーションサービス106と通信し、1又は複数種類の装置の位置を決定する。例えば、装置管理エンジン203は、ユーザ装置102からクエリを受信し、ユーザ装置102の位置を発見し、協調コンピューティング装置103の位置を発見する。装置管理エンジン203は、NAaaSアプリケーションサービス106の一部である位置サービスと相互作用し、ユーザ装置102の位置を既知の位置と照合する。別の実施形態では、装置管理エンジン203は、協調コンピューティング装置103の位置をユーザ装置102へ送信する。
一実施形態では、装置管理エンジン203は、SNMP、ICMP、Bonjour等のような特定のプロトコルを用いてネットワーク104を介して機能する装置発見処理を実行する。例えば、装置管理エンジン203は、SNMP又はICMPプロトコルを用いて、装置を、該装置のIP(internet protocol)アドレス及びMAC(media access control)アドレス等と共に発見する。別の実施形態では、装置管理エンジン203は、装置自体に含まれるGPS(global positioning system)回路を用いることにより、装置の位置情報を決定する。別の実施形態では、装置が無線周波数、超音波信号又は不可視光通信を用いるとき、装置管理エンジン203は、屋内で装置位置を決定する。例えば、装置は、無線アクセスポイントを通じて、受信信号強度の測定に基づき、自身の位置を決定する。装置管理エンジン203は、MAC(media access control)アドレス及びインターネット上の位置の組を有するデータベースにアクセスする。位置を決定するために、装置管理エンジン203は、アクセスポイントMACアドレスに対応する位置をデータベースから読み出す。
一実施形態では、装置管理エンジン203は位置サービス299からユーザ装置102の位置を受信し、装置管理エンジン203は、NAaaSアプリケーションサービス106の一部である装置目録サービス265に、特定の位置にある装置のリストを提供するよう要求する。次に、装置管理エンジン203は、NAaaSアプリケーションサービス106の一部である装置管理サービス212が、装置の可用性に基づき装置のリストをフィルタリングすることを要求する。
一実施形態では、ユーザ装置102からの要求は、協調コンピューティング装置103に関連する位置を指定する。例えば、ユーザは、日本の東京にある第1の会議室に居る人々に米国のカリフォルニア州にある第2の会議室からプレゼンテーションを行うことを予定しているために、第1の会議室内の装置について知りたいと望む。別の実施形態では、ユーザは、ある位置におけるカレンダイベントを生成し、該イベントの位置で利用可能な装置のリストを知りたいと望む。一実施形態では、位置サービス299は、要求に関連する位置を、NAaaSアプリケーションサービス106のデータ記憶268から分かる位置と照合する。位置識別子は、位置サービス299により装置管理エンジン203へ送信される。別の実施形態では、装置管理エンジン203が装置目録サービス265に問い合わせるためにユーザ装置102の位置識別子を用いるのに応答して、装置目録サービス265は、ネットワーク104にある全ての装置のリストを装置管理エンジン203に提供する。更に別の実施形態では、装置管理エンジン203は、利用可能な装置のリストを特定領域に限定するよう装置管理サービス212に問い合わせ、装置管理サービス212は、装置管理エンジン203へ情報を返送する。例えば、協調コンピューティング装置103のリストからの利用可能なプロジェクタの位置は、日本の東京にあるビル内の第1の会議室に存在すると特定できる。
一実施形態では、装置管理エンジン203は、複数の装置の各々に関連する機能のリストを決定する。例えば、機能リストは、電源入、電源断、投影、ズーム、拡張、自動合焦、印刷、双方向ビデオ録画及び送信、双方向オーディオ録音及び送信、言語翻訳、テキストから音声への変換、音声からテキストへの変換、等を含む。
一実施形態では、装置管理エンジン203は、1又は複数の装置の現在状態を決定する。例えば、会議室にあるプロジェクタの状態は、使用中、故障中、空き、電源オフ、等と決定され得る。別の実施形態では、装置管理エンジン203は、ユーザにより予約された1又は複数の装置が一定時間空いていると決定する。一実施形態では、装置管理エンジン203は、NAaaSアプリケーションサービス106の一部である装置管理サービス212と相互作用し、装置の状態を更新する。
一実施形態では、装置管理エンジン203は、ワ―クフローエンジン201からカレンダイベントのアクセス制御リストを受信し、カレンダイベントに参加する人々に関連する1又は複数のユーザ装置102を決定する。装置管理エンジン203は、アクセス制御リストを用いて、装置目録サービス265に問い合わせることにより、1又は複数のユーザ装置102を決定する。例えば、装置管理エンジン203は、アクセス制御リスト内のユーザ識別子を用い、装置目録サービス265にカレンダイベントに参加するユーザに関連する装置のリストについて問い合わせる。装置目録サービス265は、装置管理エンジン203に、カレンダイベントに参加するユーザに関連する1又は複数のユーザ装置102の装置識別子のリストを提供する。
一実施形態では、装置管理エンジン203は、1又は複数のユーザ装置102の位置を決定し、その結果として、カレンダイベントの開始前に、ユーザ装置102を持ち運ぶユーザの位置を決定する。例えば、装置管理エンジン203は、カレンダイベントの開始の5分前のユーザ装置の位置を決定する。別の実施形態では、装置管理エンジン203は、カレンダイベントの開催地から閾距離範囲内にいる1又は複数のユーザの位置を決定する。例えば、第1のユーザは開催地近くの近隣ビルに居て、第2のユーザはカレンダイベントが予定されている開催地から5マイル離れて道路交通の中に居ても良い。装置管理エンジン203は、NAaaSアプリケーションサービス106内の装置目録サービス265及び場所サービス299と相互作用し、決定された位置情報を格納する。
一実施形態では、アクセス制御リスト内の全てのユーザが開催地に存在していると決定されると、装置管理エンジン203は、通知サービス269と相互作用し、カレンダイベントを開始するよう示唆する通知を生成する。別の実施形態では、アクセス制御リスト内の少なくとも1人のユーザが開催地に存在しないと決定されると、装置管理エンジン203は、通知サービス269と相互作用し、イベントを開始を遅らせる通知を生成する。
プロトコル適応エンジン205は、プロトコルを適応し変換するソフトウェア及びルーチンである。一実施形態では、プロトコル適応エンジン205は、プロトコルを適応し変換する後述の機能を提供するために、プロセッサにより実行可能な命令セットである。いずれの実施形態でも、プロトコル適応エンジン205は、プロセッサ240、通信ユニット250及びNAaaSミドルウェアサーバ101の他のコンポーネントと信号線224を介して連携し及び通信するよう適応される。
一実施形態では、プロトコル適応エンジン205は、第1の通信プロトコルでワークフローエンジン201から要求を受信し、適応及び変換を実行して通信プロトコルを要求元の受信側に適合させる。例えば、プロトコル適応エンジン205は、HTTP要求をユーザ装置102から受信し、プロジェクタを「オフにする」。プロジェクタはTCPを用いて通信する。プロトコル適応エンジン205は、HTTP要求をTCPエンドポイントへ転送されるよう適応し、「オフにする」HTTP要求を対応するTCPコマンドに変換する。
一実施形態では、プロトコル適応エンジン205は、1又は複数のリソースサーバに関連する1又は複数種類の第2の通信プロトコルを識別する。例えば、プロトコル適応エンジン205は、プロジェクタ装置に関連する第1のリソースサーバ105aが通信プロトコルとしてTCP(Transmission Control Protocol)を用い、対話型ホワイトボードに関連する第2のリソースサーバ105bが通信プロトコルとしてSNMP(Simple Network Management Protocol)を用いる、等を識別する。別の実施形態では、プロトコル適応エンジン205は、1又は複数のリソースサーバ105a−105nの各々について、データ記憶255に1又は複数のプロトコルを格納する。
一実施形態では、プロトコル適応エンジン205は、第1の通信プロトコルからの要求を、それぞれ1又は複数の協調コンピューティング装置103a−103n及びリソースサーバ105a−105nに関連する1又は複数種類の第2の通信プロトコルの各々に変換する。例えば、プロトコル適応エンジン205は、HTTPプロトコルからの要求を、プロジェクタ装置に関連する第1のリソースサーバ105aが理解できるTCPプロトコルに変換し、HTTPプロトコルを、対話型ホワイトボードに関連する第2のリソースサーバ105bが理解できるSNMPプロトコルに変換する、等である。更に別の実施形態では、ワークフローエンジン201は、プロトコル適応エンジン205に渡されるべき要求を受信し、プロトコル適応エンジン205は、変換した要求をエンタープライズサービスバス107内のメッセージキューに送信する。メッセージキューから、変換された要求は、適切なリソースサーバ105及びそれらのAPIへルーティングされる。
メッセージ変換エンジン207は、メッセージフォーマットを変換するソフトウェア及びルーチンである。一実施形態では、メッセージ変換エンジン207は、メッセージフォーマットを変換する後述の機能を提供するために、プロセッサ240により実行可能な命令セットである。いずれの実施形態でも、メッセージ変換エンジン207は、プロセッサ240、通信ユニット250及びNAaaSミドルウェアサーバ101の他のコンポーネントと信号線225を介して連携し及び通信するよう適応される。
一実施形態では、メッセージ変換エンジン207は、ユーザ装置102から協調コンピューティング装置103へ向かう要求の中のメッセージフォーマットを変換する。例えば、メッセージ変換エンジン207は、XML(eXtensible Markup Language)のペイロードをJSON(JavaScript Object Notation)に変換する。
上述の例を続けると、要求は、メッセージ変換エンジン207及びメッセージ拡張エンジン209に渡されるべきJSONメッセージを有する。
Figure 0006291811
ここで、「naaasprotocol」はプラットフォームのウェブAPIバージョンであり、「PJS」はプロジェクタ装置を示し、「SOLEIL」はプロジェクタの種類であり、「url」はプロジェクタの装置IPアドレスであり、「ricohuserid_opt」は装置を操作するユーザのIDである。一実施形態では、メッセージ変換エンジン207は、JSONメッセージをXMLに変換する。
別の実施形態では、メッセージ変換エンジン207は、リソースサーバ105に問い合わせるためにメッセージフォーマットを変換する。例えば、メッセージ変換エンジン207は、JSON(JavaScript Object Notation)のメッセージ規格を有する要求を識別し、第1のリソースサーバ105aのためにJSONをXML(eXtensible Markup Language)に変換する。リソースが異なるメッセージフォーマットを用いるリソースサーバに関連するとき、メッセージ変換エンジン207は、メッセージを複数のフォーマットに変換する。
メッセージ拡張エンジン209は、メッセーを拡張するソフトウェア及びルーチンである。一実施形態では、メッセージ拡張エンジン209は、メッセージを拡張する後述の機能を提供するために、プロセッサ240により実行可能な命令セットである。いずれの実施形態でも、メッセージ拡張エンジン209は、プロセッサ240、通信ユニット250及びNAaaSミドルウェアサーバ101の他のコンポーネントと信号線226を介して連携し及び通信するよう適応される。
メッセージ拡張エンジン209は、協調コンピューティング装置103と相互作用するために、要求に元々存在しなかった情報を追加することにより、メッセージを拡張できる。例えば、上述の例を続けると、ユーザが追加認証情報を要求するプロジェクタで画像を投影したいと望む場合、メッセージ拡張エンジン209は、要求内のユーザ識別子を用いてデータ記憶255からパスワードのような追加認証情報を受信し、メッセージに追加する。メッセージが準備できると、メッセージ拡張エンジン209は、メッセージをエンタープライズサービスバス107内のワークフローエンジン201へ送信する。ワークフローエンジン201は、メディア、ユーザプロファイル等をリソースサーバ105から読み出すために、メッセージを協調コンピューティング装置103又はNAaaSアプリケーションサービス106へ送信する。
<NAaaSアプリケーションサービス106>
図2Bは、NAaaSアプリケーションサービス106、プロセッサ262、メモリ264、通信ユニット266及びデータ記憶268を有するNAaaSアプリケーションサーバ123の一実施形態を示す。NAaaSアプリケーションサーバ123の一部のコンポーネントは、図2Aを参照して上述したのと同様の機能及び形式を有するので、同様の機能を示すために同様の参照符号及び用語を用いる。例えば、通信バス220、プロセッサ240、メモリ225及び通信ユニット250は、図2Aを参照して上述したものと同様であるので、これらは重複して記載されない。
一実施形態では、データ記憶260は、装置使用エントリ、メディアインデックス、メディア及びユーザプロファイルを格納する。装置使用エントリは、協調コンピューティング装置103で実行されるトランザクション、及び該トランザクションに関連するユーザ識別子を記述する。幾つかの実施形態では、装置使用エントリは、複数のユーザ識別子を有する。例えば、装置使用エントリは、発表者、例えば協調コンピューティング装置103からの画像を投影するためにユーザ装置102から要求を送信する第1のユーザのユーザ識別子、及びメディアの作者のユーザ識別子を有する。装置使用エントリは、要求の種類(例えば、投影、電源オン、電源オフ、等)、要求及びサービスの交換に関与する装置の種類(例えば、スマートフォン、プロジェクタ、等)、装置のIPアドレス、装置のリソース消費の指標(例えば、時間、電力、等)、使用される装置の機能の種類(例えば、自動合焦、拡張、画像化、等)、交換されるメディアの種類(例えば、プレゼンテーションプログラム文書、テキスト文書、表計算文書、ビデオ録画、オーディオ録音、画像、等)等を有する。
データ記憶260は、メディアインデックスを格納する。一実施形態では、メディアインデックスは、各メディアのメタデータを含む各メディアのレコードを有する。例えば、メタデータは、クラウドから元のメディア(例えば、単なるプレゼンテーションのスライドの画像の変わりにプレゼンテーション全体)にアクセスするためのポインタデータ、メディアの作者、等を有しても良い。一実施形態では、メタデータは、画像のテキストバージョンのような、メディア分析サービス217からの結果も有する。一実施形態では、データ記憶260は、要求に含まれるメディアのコピーも格納する。例えば、データ記憶260は、メディアレポジトリサービス214からメディアのコピーを受信する。
データ記憶260は、メユーザプロファイルを格納する。一実施形態では、ユーザプロファイルは、各ユーザのレコードを有する。各ユーザのレコードは、ユーザのグラフィック表現(例えば、ユーザの写真)、名前、タイトル、ユーザに関連するキーワード、ユーザに関連するメディア(例えば、ユーザにより作成されたメディア又はユーザにより発表されたメディア)、ユーザに関連するプレゼンテーション、等を有しても良い。一実施形態では、ユーザに関連するキーワードは、キーワードのリストを有する。NAaaSアプリケーションサーバ106は、より高レベルのサービスを提供するためにエンタープライズサービスバス107により組み立てられた個々のAPI(application programming interface)を有する低レベルのサービスの集合である。例えば、ユーザ装置102によりエンタープライズサービスバス107へ送信される「投影」コマンドは、NAaaSアプリケーションサービス106内のモジュールを呼び出す。該モジュールは、ユーザ装置を認証し、メディア内のテキストを識別し、データ記憶260に文書を保存する。サービスは、互いに通信しない。その代わり、サービスは、エンタープライズサービスバス107から命令を受信し、要求されたタスクを完了し、適切な場合にはデータ記憶260にデータを保存し、エンタープライズサービスバス107へ情報を返す。
NAaaSアプリケーションサーバ106は、より高レベルのサービスを提供するためにエンタープライズサービスバス107により組み立てられた個々のAPI(application programming interface)を有する低レベルのサービスの集合である。例えば、ユーザ装置102によりエンタープライズサービスバス107へ送信される「投影」コマンドは、NAaaSアプリケーションサービス106内のモジュールを呼び出す。該モジュールは、ユーザ装置102を認証し、メディア内のテキストを識別し、データベースインデックスを生成し、データ記憶268にデータベースインデックスと一緒に文書を保存する。サービスは、互いに通信しない。その代わり、サービスは、エンタープライズサービスバス107から命令を受信し、要求されたタスクを完了し、適切な場合にはデータ記憶268にデータを保存し、エンタープライズサービスバス107へ情報を返す。
一実施形態では、サービスは、ユーザ管理サービス211、装置目録サービス265、位置サービス299、装置管理サービス212、装置使用分析サービス213、メディアレポジトリサービス215、メディア分析サービス217、インデックス付けサービス287、カレンダモジュール286、請求サービス267、検索エンジン221、サーバ保守サービス227、通知サービス269を有する。当業者は、エンタープライズサービスバス107が要求を完了するために追加サービスを有し得ることを理解するだろう。
ユーザ管理サービス211は、ネットワーク104にユーザを登録し及びユーザ認証を実行するソフトウェア及びルーチンである。一実施形態では、ユーザ管理サービス211は、ユーザを登録する後述の機能を提供するために、プロセッサ262により実行可能な命令セットである。別の実施形態では、ユーザ管理エンジン211は、メモリ264に格納され、プロセッサ262によりアクセス可能且つ実行可能である。いずれの実施形態でも、ユーザ管理サービス211は、プロセッサ262及び通信ユニット266と信号線271を介して連携し及び通信するよう適応される。
ユーザ管理サービス211は、ユーザ情報を受信し、ユーザプロファイルを生成する。例えば、ユーザ管理サービス211は、名前、職位、ジョブコード、電子メールアドレス、電話番号、ユーザ名、パスワード、ユーザの網膜スキャン、ユーザの指紋スワイプ、等を受信する。ユーザ管理サービス211は、登録情報に基づきユーザのログイン証明書(credential)を生成し、ユーザのためにデータ記憶268にログイン証明書を格納する。ユーザ管理サービス211は、ユニークな識別子をユーザに関連付ける。これは、ユーザの姓名、ユーザの電子メールアドレス、一連の数字、従業員番号、等であり得る。ユニークな識別子は、システムにおけるユーザの活動を追跡するために用いられる。
一実施形態では、ログイン証明書は、同一のログイン証明書を用いて1つの特性(property)で複数の独立した装置及びサービスへのアクセス制御を提供するシングルサインオンとして生成される。例えば、ユーザは、ユーザ証明書でログインし、全ての登録サービスの各々でログインを促されることなく、全ての登録サービスへのアクセスを得る。別の例では、ユーザは、プロジェクタ、対話型ホワイトボード等のような異なる種類の装置に、同一のユーザ証明書を用いてログインする。一実施形態では、ユーザ管理サービス211は、ビジネスに関連付けられたLDAP(Lightweight Directory Access Protocol)サーバ(図示しない)内の階層的構造を有する組織的レコードセットとして、ユーザのログイン証明書を格納する。ユーザ管理サービス211は、登録中又は他のときに受信されるユーザの選択(プレファレンス)も管理する。例えば、ユーザは、ログイン証明書に関連付けるために画像をアップロードできる。
一実施形態では、ユ―ザ装置102及び/又は協調コンピューティング装置103は、システム100でユーザを認証するために用いられるログイン情報とは異なるログイン情報を用い、ユーザ管理サービス211は、ユーザ又は管理者からログイン情報を受信し、該情報をユーザプロファイルに追加する。例えば、ユーザのラップトップは、ユーザが該ラップトップのコンテンツにアクセスできる前に入力される必要のある4桁コードを有する。ユーザ管理サービス211は、ユーザプロファイルに情報を追加する。
ユーザ管理サービス211は、認証を実行する。例えば、ユーザは、ユーザ装置102のユーザインタフェースにログイン証明書を入力する。ユーザ装置102は、ログイン証明書をエンタープライズサービスバス107へ送信する。エンタープライズサービスバス107は、ユーザ管理サービス211がログイン証明書に基づきユーザを認証するよう要求する。ユーザ管理サービス211は、ユーザ装置102に関連するユーザを識別し、ログイン証明書をユーザプロファイルと比較し、ログイン証明書が正しいという確認又はログインエラーが生じたという通知をエンタープライズサービスバス107へ返送する。確認は、ユーザに関連するユーザ識別情報を含む。
一実施形態では、認証のためのログイン要求が正しいユーザ名及びパスワードを有しない場合、ログイン要求は拒否される。別の実施形態では、ユーザ管理サービス211は、ユーザが彼又は彼女のユーザ名及び/又はパスワードを忘れたときにアカウントの復旧で用いられる。幾つかの例では、ユーザ管理サービス211は、ログイン要求に含まれる補助的情報を分析することにより潜在的な不正認証を検出する。例えば、ログイン要求に関連するユーザ名がもはや会社で雇用されていないユーザのユーザ名である又はロボットの疑いがある場合、ユーザ管理サービス211は、ログイン要求を潜在的な不正として識別する。ユーザ管理サービス211は、補助的情報をユーザの過去の認証情報と比較することにより潜在的な不正認証を検出する。例えば、認証のためのログイン要求がユーザが以前からログイン要求を送信しようと試みたことのない国又は装置(例えば、未登録装置)から生じている場合、ユーザ管理サービス211は、ログイン要求を潜在的な不正として識別する。一実施形態では、潜在的な不正認証の試みは、不成功の認証の試みを有する。
装置目録サービス265は、装置をネットワーク104に登録するコード及びルーチンである。一実施形態では、装置目録サービス265は、装置を登録する後述の機能を提供するために、プロセッサ262により実行可能な命令セットである。別の実施形態では、装置目録サービス265は、メモリ264に格納され、プロセッサ262によりアクセス可能且つ実行可能である。いずれの実施形態でも、装置目録サービス265は、プロセッサ262及び通信ユニット266と信号線293を介して連携し及び通信するよう適応される。
装置目録サービス265は、ワークフローエンジン201からネットワーク104内の装置を追加し、削除し、及び更新する要求を受信する。装置目録サービス265は、1又は複数種類のユーザ装置102a−102n及び1又は複数種類の協調コンピューティング装置103a−103nを登録する要求を受信する。一実施形態では、装置目録サービス265は、装置の種類及び装置のIPアドレス(又はMACアドレス)をネットワーク104に登録し、装置固有の装置識別子を生成する。例えば、型番号1042を有するプロジェクタが登録され、「prj1042u1」のような装置識別子を割り当てられる。一実施形態では、装置目録サービス265は、データ記憶268に格納された特定のユーザ名の下に、1又は複数種類のユーザ装置102a−102nを登録する要求を受信する。例えば、ユーザは、タブレットPC、スマートフォン等のような個人の装置を登録し、該装置を従業員識別子、ユーザ識別子等のような識別の形式と関連付けることができる。一実施形態では、装置目録サービス265は、位置サービス299により提供される位置識別子をインポートすることにより、装置に位置をマッピングする。別の実施形態では、装置目録サービス265は、特定の位置で又は特定の空間範囲内で使用するために、1又は複数種類の協調コンピューティング装置103a−103nを登録する要求を受信する。例えば、プロジェクタはビルの1階での使用のために登録でき、対話型ホワイトボードは会議室内での使用のために登録できる。ビルの1階及び会議室は、それぞれそれらに関連する位置識別子を有する。装置目録サービス265は、データ記憶268に装置登録情報(例えば、IPアドレス、装置識別子、等)を格納する。
別の実施形態では、装置目録サービス265は、以下に詳述する位置サービス299により生成される位置識別子を用いて位置に関連付けられた装置を識別する。位置識別子は、データ記憶268に格納するために、エンタープライズサービスバス107内の装置管理エンジン203から受信される。例えば、プロジェクタは日本の東京にあるビル内の会議室に登録でき、該会議室は位置識別子を有する。ユーザは、カリフォルニア州のサンフランシスコから、ユーザが登録されたユーザであることを示すログイン証明書を用いてプロジェクタにアクセスできる。更に別の実施形態では、装置目録サービス265は、登録された装置に関連する情報を更新する要求を受信する。例えば、ユーザは、プロジェクタの名称、対話型ホワイトボードの位置、及びビデオ会議装置のファームウェアバージョン、等を変更できる。
位置サービス299は、1又は複数種類の装置の位置情報を提供し格納するコード及びルーチンである。一実施形態では、位置サービス299は、装置位置情報を格納する後述の機能を提供するために、プロセッサ262により実行可能な命令セットである。別の実施形態では、位置サービス299は、メモリ264に格納され、プロセッサ262によりアクセス可能且つ実行可能である。いずれの実施形態でも、位置サービス299は、プロセッサ262及び通信ユニット266と信号線298を介して連携し及び通信するよう適応される。
一実施形態では、エンタープライズサービスバス107の装置管理エンジン203は、位置サービス299と相互作用し、名称、地理的座標、等を含む位置情報を格納する。別の実施形態では、位置サービス299は、装置が登録され又は位置に割り当てられる前に、該位置を登録する要求を受信する。例えば、ユーザは、カリフォルニア州のメンロパークからの別のユーザがシンガポールの位置に登録された装置へメディアを送信できる前に、シンガポールにある新しい支所の位置を登録しても良い。
装置管理サービス212は、ネットワーク104内の装置を予約し及び外装置へのアクセスを許可するコード及びルーチンである。一実施形態では、装置管理サービス212は、装置を予約する後述の機能を提供するために、プロセッサ262により実行可能な命令セットである。別の実施形態では、装置管理サービス212は、メモリ264に格納され、プロセッサ262によりアクセス可能且つ実行可能である。いずれの実施形態でも、装置管理サービス212は、プロセッサ262及び通信ユニット266と信号線272を介して連携し及び通信するよう適応される。
一実施形態では、装置管理サービス212は、人々のグループ、例えば会社の従業員により共有される1又は複数種類の協調コンピューティング装置103a−103nを予約するための要求を装置管理エンジン203から受信する。例えば、ユーザである従業員は、カレンダイベントでの使用のために(例えば、ビジネス会議のために)彼のユーザ名又はユーザ識別子の下でプロジェクタ、対話型ホワイトボード等を一時的に予約できる。別の例では、ユーザである従業員は、装置を予約するために、ユーザ識別子と一緒に装置識別子を供給できる。装置管理エンジン203は、グループのユーザに対して、ユーザ管理サービス211により生成されたユーザのログイン証明書を用いて予め登録された1又は複数種類の協調コンピューティング装置103a−103nへのアクセス要求を許可する。例えば、ユーザは、プロジェクタ、ウェブカメラ、対話型ホワイトボード等のような協調コンピューティング装置103a−103nに、1つの且つ同一のユーザ名及びパスワードを用いてアクセスする。
一実施形態では、装置管理サービス212は、カレンダイベントのために予約された1又は複数種類の協調コンピューティング装置103a−103nへのアクセスを許可する。例えば、装置管理サービス212は、10AMのカレンダイベント「Staff Meeting」のために予約された「conference room 4C」内のプロジェクタへのアクセスを許可する。別の実施形態では、装置管理サービス212は、装置管理エンジン203を介してユーザであるカレンダイベントの主催者から確認を受信し、カレンダイベントで示された開始時間(又は終了時間)に協調コンピューティング装置103a−103nの電源を入れ(又は電源を切り)及び接続(又は切断)する。
装置使用分析サービス213は、ネットワーク104内での要求に関連する装置使用エントリを記録するソフトウェア及びルーチンである。一実施形態では、装置使用分析サービス213は、装置使用エントリを記録する後述の機能を提供するために、プロセッサ262により実行可能な命令セットである。別の実施形態では、装置使用分析サービス213は、メモリ264に格納され、プロセッサ262によりアクセス可能且つ実行可能である。いずれの実施形態でも、装置使用分析サービス213は、プロセッサ262及び通信ユニット266と信号線273を介して連携し及び通信するよう適応される。
装置使用分析サービス213は、要求及び外要求に関連するユーザ識別子を受信し、該要求に関連するメタデータを装置使用エントリとして記録する。要求に関連するユーザがメディアの作者と異なる場合、装置使用エントリは、発表者及びメディアの作者の両者のユーザ識別子を有する。例えば、医者は、該医者のユーザ装置102(例えばラップトップ)から協調コンピューティング装置103(例えばプロジェクタ)へ送信されるスライドを用いることにより、病院で研修医に対して内科患者に関する講演をする。医者がプロジェクタにスライドを表示させたいと望む度に、医者はラップトップからプロジェクタへスライドの画像を表示する要求を送信する。エンタープライズサービスバス107は、要求をユーザ管理サービス211へ送信する。ユーザ管理サービス211は、ユーザ装置102に関連するユーザを識別する。エンタープライズサービスバス107は、ユーザ管理サービス211から認証の確認及びユーザの同一性を受信し、要求及びユーザ識別子を装置使用分析サービス213へ送信する。装置使用分析サービス213は、装置使用エントリを記録する。一実施形態では、装置使用エントリは、ユーザ装置102に関連するユーザのユーザ識別子、メディアの作者(異なる場合)、協調コンピューティング装置103で実行される動作セット、協調コンピューティング装置103のユニークな装置識別子、及びデータ記憶268に格納されたメディアを参照するユニークな識別子(又はメディアに関連するメタデータ)を有する。
メディアレポジトリサービス215は、要求に関連するメディアをデータ記憶268に格納するコード及びルーチンである。一実施形態では、メディアレポジトリサービス215は、メディアを格納する後述の機能を提供するために、プロセッサ262により実行可能な命令セットである。別の実施形態では、メディアレポジトリサービス215は、メモリ264に格納され、プロセッサ262によりアクセス可能且つ実行可能である。いずれの実施形態でも、メディアレポジトリサービス215は、プロセッサ262及び通信ユニット266と信号線275を介して連携し及び通信するよう適応される。
幾つかの実施形態では、協調コンピューティング装置103は、メディアを格納するバックエンドサーバを欠いている。他の実施形態では、データ記憶268は、要求の中にメディアのコピー、例えばPowerPointプレゼンテーションからの画像を有する。これらの例では、メディアレポジトリサービス215は、メディアを有する要求をエンタープライズサービスバス107から受信する。メディアレポジトリサービス215は、メディアに関連するユニークな識別子を生成し、データ記憶268にメディアを格納する。一実施形態では、メディアレポジトリサービス215は、ワークフローエンジン201から1又は複数種類のメディアを受信して協調コンピューティング装置103の装置識別子に関連付け、メディア及び関連する装置識別子をデータ記憶268に格納する。別の実施形態では、メディアレポジトリサービス215は、1又は複数種類のメディアのユーザ識別子と一緒に装置識別子を受信する。
メディア分析サービス217は、メディアを分析するコード及びルーチンである。一実施形態では、メディア分析サービス217は、メディアを分析する後述の機能を提供するために、プロセッサ262により実行可能な命令セットである。別の実施形態では、メディア分析サービス217は、メモリ264に格納され、プロセッサ262によりアクセス可能且つ実行可能である。いずれの実施形態でも、メディア分析サービス217は、プロセッサ262及び通信ユニット266と信号線277を介して連携し及び通信するよう適応される。
メディア分析サービス217は、要求に関連するメディアをエンタープライズサービスバス107から受信する。例えば、メディア分析サービス217は、スライドからキャプチャされた画像を受信する。メディア分析サービス217は、画像に対して光学文字認識を適用し、画像に関連するテキストを識別する。メディア分析サービス217は、データ記憶260にテキストを格納する。一実施形態では、メディア分析サービス217は、手書き、タイプ又は印刷されたテキストを含む画像からのコンテンツを機械符号化テキストに変換する。
一実施形態では、メディア分析サービス217は、ビデオ及び/又はオーディオデータを受信する。メディア分析サービス217は、ビデオ会議装置から受信したビデオ及び/又はオーディオデータに関連するユーザを識別しても良い。例えば、ビデオは、上述の例の、対話型ホワイトボードの前でプレゼンテーションを行っている医者を含んでも良い。メディア分析サービス217は、ビデオデータに対する顔認識の実行又はオーディオデータに対する音声認識の実行に基づき、医者を識別しても良い。別の実施形態では、メディアは、イベントに参加する聴衆メンバにより提供され得る。メディア分析サービス217は、イベントを決定する。例えば、メディア分析サービス217は、プレゼンテーションを決定する。メディア分析サービス217は、イベントの聴衆メンバを決定する。幾つかの実施形態では、メディア分析サービス217は、ユーザ装置102の位置に基づき、聴衆メンバの出席を決定する。メディア分析サービス217は、どの聴衆メンバがイベントに参加したかを決定する。一実施形態では、メディア分析サービス217は、ビデオデータに対する顔認識の実行又はオーディオデータに対する音声認識の実行に基づき、どの聴衆メンバがイベントに参加したかを決定する。
一実施形態では、メディア分析サービス217は、イベントのビデオデータ又はプレゼンテーションをエンタープライズサービスバス107から受信する。例えば、ビデオは、情報を提示するために対話型ホワイトボードの前にいる人物を含む。メディア分析サービス217は、1又は複数のビデオフレームに対して光学文字認識を実行しても良い。例えば、メディア分析サービス217は、対話型ホワイトボードで提示される情報に対して光学文字認識を実行する。別の実施形態では、メディア分析サービス217は、オーディオデータを受信する。メディア分析サービス217は、音声−テキスト技術を用いることにより、オーディオデータからテキストを識別しても良い。
インデックス付けサービス287は、複数のリソースサーバ105a−105nの1又は複数のデータベースインデックスを生成するソフトウェア及びルーチンである。一実施形態では、インデックス付けサービス287は、データベースインデックスを生成る後述の機能を提供するために、プロセッサ262により実行可能な命令セットである。別の実施形態では、インデックス付けサービス287は、メモリ264に格納され、プロセッサ262によりアクセス可能且つ実行可能である。いずれの実施形態でも、インデックス付けサービス287は、プロセッサ262及び通信ユニット266と信号線245を介して連携し及び通信するよう適応される。
一実施形態では、インデックス付けサービス287は、1又は複数のリソースサーバ105に格納された1又は複数種類のメディアを決定する。1又は複数のリソースサーバ105は、1又は複数種類の協調コンピューティング装置103に関連する。例えば、協調コンピューティング装置103(例えばプロジェクタ)に関連するリソースサーバ105は、ユーザ装置102(例えばラップトップ)から協調コンピューティング装置103へ送信されるスライドを格納する。インデックス付けサービス287は、1又は複数種類のメディアに関連するメタデータを識別、データベース記憶268におけるデータベースインデックスを生成する。データベースインデックは、メタデータ、及びメタデータに関係する1又は複数種類のメディアが格納されている位置への参照ポインタを保持する。一実施形態では、インデックス付けサービス287は、データ記憶268にデータベースインデックスを格納する。
インデックス付けサービス287は、メタデータの濃度(cardinality)に基づきデータベースインデックスを生成する。濃度は、メタデータの特異性を表す。濃度が低いほど、メタデータ中に存在する重複が多い。一実施形態では、インデックス付けサービス287は、インデックスを生成するために、高濃度のメタデータ(例えば、ユーザ識別子、ユーザ名、従業員識別子、電子メールアドレス、タイトル、特定のキーワード、等)を識別する。例えば、インデックス付けサービス287は、プロジェクタにスライドを送信したユーザに関連するユーザ識別子を識別し、ユーザ識別子及び該ユーザ識別子に関連するスライドが格納されている位置を指すポインタを保持するデータベースインデックスを生成する。別の実施形態では、インデックス付けサービス287は、標準的濃度のメタデータ(例えば、装置名、装置種類、装置識別子、IPアドレス、メディア種類、位置、イベントの日付、等)を識別する。例えば、インデックス付けサービス287は、スライドを投影したプロジェクタに関連する装置識別子を識別し、装置識別子及び該装置識別子に関連するスライドが格納されている位置を指すポインタを保持するデータベースインデックスを生成する。更に別の実施形態では、インデックス付けサービス287は、低濃度のメタデータ(例えば、現従業員、元従業員、準従業員、上級従業員、等)を識別する。例えば、インデックス付けサービス287は、スライドが準従業員である従業員により投影されたことを識別し、技能レベル及び該技能レベルに関連するスライドが格納されている位置を指すポインタを保持するデータベースインデックスを生成する。
一実施形態では、ワークフローエンジン201は、ワークフローエンジン201のためにメディアを分析したメディア分析サービス217から識別されたテキストを受信する。例えば、メディア分析サービス217は、ワ―クフローエンジン201により送信されたビデオ及び/又はオーディオデータからテキストを抽出する。ワークフローエンジン201は、インデックス付けサービス287へテキストを送信する。インデックス付けサービス287は、メディア内のキーワードを識別し、メディア内のキーワードに関連するデータをインデックス付けし、キーワード及びリソースサーバ105内のメディアへのポインタを有するグローバルインデックスを生成する。一実施形態では、インデックス付けサービス287は、キーワードをユーザプロファイルに関連付ける。一実施形態では、インデックス付けサービス287は、1又は複数のメディア部分を決定する。インデックス付けサービス287は、スライドショーのうちの1又は複数のスライドのタイトル、目次、概要、主要情報部分、等を決定する。インデックス付けサービス287は、テキストの位置、テキストのフォーマット、スライドショーの中のスライドの位置、等に基づき1又は複数のスライドの一部を決定する。例えば、スライド又はスライドショーのタイトルは、スライドショーの最初のスライドの一番上に太字で現れ得る。タイトルは、スライド又は他のスライドにある他の文字と比べて大きいサイズを有するテキストを有し得る。別の例では、スライドショーの始めに位置するスライドは、スライドショーの概要を有し得る。別の例では、インデックス付けサービス287は、1又は複数の黒丸の点を有するテキストの識別に基づき、主要情報部分を決定する。
インデックス付けサービス287は、キーワードの重みを決定する。一実施形態では、インデックス付けサービス287は、部分に基づき重みを決定する。例えば、インデックス付けサービス287は、スライドショーのタイトルからのキーワードに対して、スライドショーの他の部分(例えばテキスト)よりも高い重みを決定する。別の実施形態では、インデックス付けサービス287は、キーワードに関連するカウントに基づき重みを決定する。例えば、インデックス付けサービス287は、各キーワードがメディア内に現れる回数を識別する。
一実施形態では、インデックス付けサービス287は、関連するコンテンツを決定する。例えば、インデックス付けサービス287は、キーワードの類義語を決定する。一実施形態では、インデックス付けサービス287は、類語辞典内で検索を実行する。別の例では、インデックス付けサービス287は、知識グラフに基づき関連するコンテンツを決定する。
インデックス付けサービス287は、複数のリソースサーバ105a−105nのデータベースインデックス内のキーワード及び類義語をインデックス付けする。一実施形態では、インデックス付けサービス287は、無関係な語を除外することにより、キーワード及び類義語をインデックス付けする。無関係な語は、一般的な語(例えば、「a」、「the」)を有しても良い。別の実施形態では、インデックス付けサービス287は、インデックスの最多数のキーワードを選択する。インデックス付けサービス287は、各キーワードの重みに基づき、最多数のキーワードを選択しても良い。一実施形態では、インデックスサービス287は、キーワード及び類義語のインデックスをデータ記憶268に格納する。例えば、インデックス付けサービス287は、データベースの1又は複数のテーブル内のデータベースインデックスをデータ記憶268に格納する。一実施形態では、キーワードのインデックスは、キーワードとメディアとの間の関連を記述するデータを有する。例えば、インデックスは、メディアに関連するキーワード及びポインタデータ(例えば、URL(uniform resource locator)又は文書/ファイル識別子)を有するレコードを含む。ポインタデータは、リソースサーバ105(又は協調コンピューティング装置103がメディアを格納するリソースサーバ105に関連付けられていない場合、データベース記憶268)にあるメディアの場所を特定するためのデータを有しても良い。一実施形態では、キーワードは複数のメディアに関連付けられても良い。
一実施形態では、インデックス付けサービス287は、グローバルデータベースインデックスを生成し維持する。グローバルデータベースインデックスは、1又は複数のリソースサーバ105に対して別個に生成されたデータベースインデックスを有するマスタインデックスである。インデックス付けサービス287は、1又は複数のリソースサーバ105内で生じる1又は複数種類の更新を決定し、1又は複数のリソースサーバのデータベースインデックスを読み出し、グローバルインデックスを編集する。グローバルインデックスは、1又は複数のリソースサーバ105のデータベースインデックス、及びその結果としてデータベースインデックスに関連する1又は複数のソースマテリアルの位置を指すポインタリファレンスを保持する。グローバルインデックスは、1又は複数のリソースサーバ105に関連するメディアのキーワードも保持する。したがって、検索エンジン221は、キーワードのグローバルインデックスを問い合わせ、1又は複数のリソースサーバ105からメディアを読み出すためにポインタリファレンスを受信できる。
1又は複数のソースマテリアルは、1又は複数のリソースサーバ105内で生じる1又は複数種類の更新に関連する。1又は複数種類の更新は、プレゼンテーションプログラム文書、テキスト文書、表計算文書、ビデオ録画、オーディオ録音、画像等のうちの少なくとも1つを格納し、削除し、又は移動することを含む。例えば、グローバルデータベースインデックスは、プロジェクタ装置に関連する第1のリソースサーバ105aからのユーザ識別子に基づく第1のデータベースインデックス、及びビデオ会議装置に関連する第2のリソースサーバ105bからの装置識別子に基づく第2のデータベースインデックス、等を有する。別の実施形態では、インデックス付けサービス287は、1又は複数のリソースサーバ105a−105n内のデータベースインデックスを指すポインタリファレンスを有するグローバルデータベースインデックスを生成する。一実施形態では、インデックス付けサービス287は、データ記憶268にグローバルデータベースインデックスを格納する。
インデックス付けサービス287は、1又は複数のキーワードに基づき作者又は発表者のユーザプロファイルを更新する。作者又は発表者のユーザプロファイルは、該作者又は発表者に関連するメディアのコンテンツに関連するキーワードのリストを有しても良い。インデックス付けサービス287は、ユニークなユーザ識別子に関連するユーザプロファイルのキーワードリストに1又は複数のキーワードを追加することにより、ユーザプロファイルを更新する。一実施形態では、作者のユーザプロファイルは、作者又は発表者に関連するメディアを記述するメタデータを有する。メタデータは、キーワードのリスト、プレゼンテーション情報(例えば、日付、位置及び装置情報)、メディア情報(例えば、URL(uniform resource locator)又は作成されたメディアの文書/ファイル識別子)等を有する。作者が複数のイベントで同一のプレゼンテーション情報を与える場合、一実施形態では、プレゼンテーション情報は、プレゼンテーションに関連する複数の日付及び位置を有する。
カレンダモジュール286は、ユーザのためにカレンダに1又は複数のイベントを生成するコード及びルーチンである。一実施形態では、カレンダモジュール286は、カレンダにイベントを生成するする後述の機能を提供するために、プロセッサ262により実行可能な命令セットである。別の実施形態では、カレンダモジュール286は、メモリ264に格納され、プロセッサ262によりアクセス可能且つ実行可能である。いずれの実施形態でも、カレンダモジュール286は、プロセッサ262及び通信ユニット266と信号線282を介して連携し及び通信するよう適応される。
一実施形態では、カレンダモジュール286は、ワークフローエンジン201を介してユーザから、ユーザに関連する1又は複数のカレンダ内に1又は複数のイベントを作成する要求を受信する。1又は複数のカレンダ(例えば、個人カレンダ、請求書支払カレンダ、等)及び該カレンダに関連するイベントデータ(例えば、タイトル、開始時間、終了時間、開始日、終了日、出席者数、等)は、データ記憶268に格納される。例えば、カレンダモジュール286は、「Tuesday」の「10AM」から「11AM」の間の時間枠にイベント「Staff Meeting」を生成する要求をユーザから受信する。一実施形態では、カレンダモジュール286は、イベントに関連付けられるべき出席者のリストを、ワークフローエンジン201を介してユーザから受信する。ユーザは、名前、ユーザ識別子、従業員識別子等を用いて、イベントに出席者を招待することにより、出席者リストを生成する。例えば、チームリーダは、イベント「Staff Meeting」に出席するよう技術部門のメンバを招待できる。一実施形態では、カレンダモジュール286は、出席者リストに基づきカレンダイベントに対するアクセス制御リストを生成し、アクセス制御リストをデータ記憶268に格納する。別の実施形態では、カレンダモジュール286は、エンタープライズサービスバス107内のワークフローエンジン201へアクセス制御リストを送信する。ワークフローエンジン201は、アクセス制御リスト内の人々に関連する装置を決定する装置管理エンジン203へアクセス制御リストを送信する。一実施形態では、カレンダモジュール286は、イベントが行われる位置の選択をユーザから受信し、位置の選択をワークフローエンジン201へ送信する。ワークフローエンジン201は、選択された位置で利用可能な協調コンピューティング装置を決定する装置管理エンジン203へ位置の選択を送信する。例えば、ユーザは、ビルの3階にある第1の利用可能な会議室「conference room 301」を選択できる。
請求サービス267は、ユーザに対する請求書を生成するコード及びルーチンである。一実施形態では、請求サービス267は、請求書情報を生成し格納する後述の機能を提供するために、プロセッサ262により実行可能な命令セットである。別の実施形態では、請求サービス267は、メモリ264に格納され、プロセッサ262によりアクセス可能且つ実行可能である。いずれの実施形態でも、請求サービス267は、プロセッサ262及び通信ユニット266と信号線291を介して連携し及び通信するよう適応される。
装置使用データは、装置使用分析エンジン213によりデータ記憶268に格納される。ワークフローエンジン201は、装置使用分析エンジン213から装置使用に関連するデータを受信し、該データを請求サービス267に提供する。一実施形態では、請求サービス267は、単一の装置の装置使用に関連する請求情報を決定する。例えば、請求サービス267は、患者の脊椎を画像化するためにMRI(Magnetic Resonance Imaging)装置を使用する請求情報が2000ドルであると決定する。請求サービス267は、次に、装置使用に関連する請求情報に基づき請求書を生成し、該請求書をワークフローエンジン201へ送信し、又は該請求書をデータ記憶268に格納する。別の実施形態では、請求サービス267は、複数の協調コンピューティング装置103にアクセスするユーザ装置102に関連する請求情報を決定する。例えば、請求サービス267は、プリンタ、プロジェクタ、会議サービス等にアクセスするユーザ装置102に対する11月の1ヶ月分の請求書を生成する。
検索エンジン221は、1又は複数の語の検索クエリに関連するメディアを識別するソフトウェア及びルーチンである。一実施形態では、検索エンジン221は、検索クエリに関連するメディアを識別する後述の機能を提供するために、プロセッサ262により実行可能な命令セットである。別の実施形態では、検索エンジン221は、メモリ264に格納され、プロセッサ262によりアクセス可能且つ実行可能である。いずれの実施形態でも、検索エンジン221は、プロセッサ262及び通信ユニット266と信号線249を介して連携し及び通信するよう適応される。
検索エンジン221は、1又は複数のリソースサーバ105a−105nについての1又は複数の検索クエリをワークフローエンジン201から受信する。一実施形態では、検索クエリは、検索サーバ120で生じる。検索エンジン221は、データベースインデックスから、検索クエリ内の1又は複数の語と一致する1又は複数のキーワードを識別し、要求が向けられている1又は複数のリソースサーバを決定し、1又は複数のリソースサーバの決定をワークフローエンジン201へ送信する。例えば、検索エンジン221は、検索クエリ内の1又は複数の語と一致する1又は複数のキーワードを識別するために、グローバルデータベースインデックスにアクセスし、1又は複数のリソースサーバがプロジェクタ、対話型ホワイトボード等と関連することを決定する。一実施形態では、検索エンジン221は、検索クエリ内の語との正確な一致を検索することにより、キーワードを識別する。別の実施形態では、検索エンジン221は、検索クエリ内の語と同様のキーワードを検索することにより、キーワードを識別する。例えば、要求元が語「オープンソースオペレーティングシステム」を与えた場合、検索エンジン221は、データベースインデックスからキーワードとして「Linux」を識別しても良い。
一実施形態では、検索エンジン221は、ワークフローエンジン201から検索クエリを受信する。一実施形態では、検索エンジン221は、キーワード及びメディアの作者若しくは発表者のユーザプロファイルに関連する1又は複数種類のメディアを識別する。別の実施形態では、データベースインデックスは、キーワードとメディアとの間の関連を記述するデータを有する。例えば、「Linux」のような検索クエリの語が受信された場合、検索エンジン221は、ユーザ識別子、装置識別子、イベントの日付等をデータベースインデックスとして識別し、該データベースインデックスを用いて、検索クエリの語「Linux」について1又は複数のリソースサーバ105a−105nからプレゼンテーションプログラム文書、テキスト、文書、表計算文書、ビデオファイル、オーディオファイル、画像等のうちの1又は複数を読み出し、読み出した情報をエンタープライズサービスバス107へ送信する。
一実施形態では、検索エンジン221は、キーワードが読み出したメディア内に現れる回数を識別する。例えば、検索エンジン221は、キーワードが1又は複数のスライドの画像内に又は対話型ホワイトボード上に現れる回数を決定する。別の例では、検索エンジン221は、オーディオ(オーディオは、メディア分析サービス217により音声−テキスト変換が行われる)内で作者がキーワードを言う回数を決定する。検索エンジン221は、キーワードがメディア内に現れる回数に基づき、1又は複数のリソースサーバ105a−105nから読み出したメディアをランク付けする。
サーバ保守サービス227は、1又は複数のリソースサーバを管理するソフトウェア及びルーチンである。一実施形態では、サーバ保守サービス227は、1又は複数のリソースサーバを管理する後述の機能を提供するために、プロセッサ262により実行可能な命令セットである。別の実施形態では、サーバ保守サービス227は、メモリ264に格納され、プロセッサ262によりアクセス可能且つ実行可能である。いずれの実施形態でも、サーバ保守サービス227は、プロセッサ262及び通信ユニット266と信号線251を介して連携し及び通信するよう適応される。
一実施形態では、サーバ保守サービス227は、1又は複数のリソースサーバ105a−105nのためにサーバライセンスを生成する要求をワークフローエンジン201から受信する。例えば、ライセンスは、リソースサーバ105にインストールされたオペレーティングシステムのためのオペレーティングシステムライセンスである。別の例では、サーバライセンスは、物理的リソースサーバ毎(又はリソースサーバの仮想インスタンス毎)、リソースサーバ105内のソケット毎(又はCPU毎)、及びリソースサーバ105内のコアの総数毎にある。別の実施形態では、サーバ保守サービス227は、1又は複数種類の装置が1又は複数のリソースサーバ105に接続でき及び1又は複数種類の装置の製造者により分配されたソフトウェアを使用できるようにする接続ライセンスを生成する要求を受信する。接続ライセンスは、リソースサーバ105に接続する装置毎のライセンス(例えば、1つのリソースサーバが1つのプロジェクタ装置に接続する45個のプロジェクタ装置は、45個の接続ライセンスを含む)、リソースサーバ105への同時接続毎(例えば、45個のプロジェクタについてリソースサーバ105に接続する25個のユニークなセッションが、何時でも同時に開始する)、及びユーザアカウント毎(例えば、リソースサーバ105に接続するために用いられる装置の種類とは無関係に、ユニークな接続に対して1つのユーザ名及びパスワードを用いる)を有するグループのうちの1つである。
一実施形態では、サーバ保守サービス227は、1又は複数のリソースサーバ105に関連するハードウェア互換性リスト(hardware compatibility list:HCL)にアクセスすることにより、1又は複数種類の装置の1又は複数のリソースサーバ105との互換性を決定する。ハードウェア互換性リスト(HCL)は、ハードウェアモデルと、それらの例えばリソースサーバ105の特定のオペレーティングシステムとの互換性のデータベースであり、データ記憶268に格納される。
一実施形態では、サーバ保守サービス227は、1又は複数のリソースサーバ105に関連する1又は複数種類の協調コンピューティング装置103に関連するAPI(Application Programming Interface)に対する1又は複数の更新を決定する。1又は複数の更新は、ソフトウェアアップデート及びファームウェアアップデートを含む。1又は複数種類の協調コンピューティング装置103に関連するAPI(Application Programming Interface)は、エンタープライズサービスバス107によりユーザ装置102a−102nに公開される。サーバ保守サービス227は、1又は複数の更新の決定に応答して、エンタープライズサービスバス107にエンタープライズサービスバス107内部のエンジンを更新する通知を送信する。したがって、プロトコル適応エンジン205、メッセージ変換エンジン207、及びメッセージ拡張エンジン209は、協調コンピューティング装置103のAPIで生じる如何なる更新も処理する準備が整う。これは、ユーザがリソースサーバ105に手動で更新をインストールしなければならない状況を回避する。
通知サービス269は、ネットワーク104内で通知を生成するコード及びルーチンである。一実施形態では、通知サービス269は、通知を生成し発行する後述の機能を提供するために、プロセッサ262により実行可能な命令セットである。別の実施形態では、通知サービス269は、メモリ264に格納され、プロセッサ262によりアクセス可能且つ実行可能である。いずれの実施形態でも、通知サービス269は、プロセッサ262及び通信ユニット266と信号線292を介して連携し及び通信するよう適応される。
一実施形態では、通知サービス269は、ワークフローエンジン201から請求書を受信し又はデータ記憶268から請求書を読み出し、請求書が準備できたことを示す通知を生成する。通知は、ワークフローエンジン201へ送信される。ワークフローエンジン201は、該通知をユーザ装置102又はユ―ザ装置102を使用するユーザの電子メールアカウントへ送信する。別の実施形態では、通知サービス269は、装置使用に基づき、1又は複数種類の装置を交換するときを示す通知を生成する。例えば、通知サービス269は、プロジェクタが使用された時間数に基づきプロジェクタがその寿命に近付いていると決定し、通知を生成してサービスマンに送信する。
通知サービス269は、ワークフローエンジン201から、アクセス制御リスト及びカレンダイベントに関連するイベント情報を受信する。一実施形態では、通知サービス269は、カレンダイベントを生成したユーザに、カレンダイベントを開始時間に開始するか否かを問い合わせるために通知を生成する。例えば、通知サービス269は予定開始時間の5分前に通知を生成し、ユーザがイベントを開始することに同意した場合、プロジェクタ装置は暖機運転される。一実施形態では、ワークフローエンジン201は、イベントの開始についてユーザに警告するために、カレンダモジュール286から要求を受信する。ワークフローエンジン201は、アクセス制御リスト内の全てのユーザがカレンダイベントに出席しているとき、ユーザにカレンダイベントを開始するよう要求する通知を生成するよう、通知サービス269に指示する。別の実施形態では、ワークフローエンジン201は、少なくとも1人のユーザが開催地に不在のとき、イベントの開始を遅らせるよう他の参加者に要求する通知を生成するよう、通知サービス269に指示する。例えば、スタッフミーティングに向かうユーザが開催地から5マイル離れて移動中の場合、スタッフミーティングを遅らせるために通知が生成される。
一実施形態では、通知サービス269は、ワ―クフローエンジン201がカレンダモジュール286から、ユーザがイベントを終了したいかどうかを尋ねるために要求を受信すると、カレンダイベントの終了を決定する。ワークフローエンジン201は、参加しているユーザがイベントを終了したいか否かを参加ユーザリストに尋ねる通知を生成するよう、通知サービス269に指示する。リスト内の少なくとも1人のユーザから確認を受信するのに応じて、ワークフローエンジン201は、開催地にある全ての装置の電源を切るための確認を装置管理サービス212へ送信する。別の実施形態では、通知サービス269は一定時間空いている装置のリストをワークフローエンジン201から受信し、ワークフローエンジン201は、空いている装置のリストを示し且つリスト内の装置の電源を切る選択肢を提供する通知を生成するよう、通知サービス269に指示する。例えば、ビル内のグループミーティングに出席した後に駐車場を去る従業員は、通知サービス269により、会議室内のプロジェクタ、対話型ホワイトボード、ウェブカメラ等が空いていることを通知され得る。ユーザは、通知サービス269からの通知を受信するのに応答して、全ての装置の電源を切る要求を送信できる。ワークフローエンジン201は、ユーザからの電源を切る要求を装置管理サービス212へ送信する。
<ユーザインタフェースの例>
図3は、ユーザインタフェースエンジン121により生成される、ユーザにサービス概観を提供するウェブページを表示するユーザインタフェース300の一実施形態のグラフィック表現である。ユーザインタフェース300は、多数のサービス、例えば「My devices」欄302、「My calendar」欄304、「Federated search」欄306及び「Expert search」欄308を有する。「My devices」欄302は、ユーザの装置、装置名(又は装置位置)及び装置状態のリスト310を表形式で表示する。一覧表示された装置は、ユーザの1又は複数のユーザ装置102、例えばタブレットPC、ユーザにより予約された1又は複数の協調コンピューティング装置103、例えばプロジェクタを有する。「My calendar」欄304は、ユーザの小型カレンダ312を表示する。小型カレンダ312は、イベントエントリ314、イベントのために予約された協調コンピューティング装置のサムネイル表現を表示する。「Federated search」欄306は、ユーザがメディアに対する検索語を入力するための検索ボックス318を表示する。検索結果は、1又は複数のリソースサーバ105a−105nからの又はデータベース記憶268からの検索語と一致する(メディアレポジトリサービス315により格納された)1又は複数種類のメディアを表示する。「Expert search」欄308は、ユーザが特定の主題に関する検索語を入力し及び特定の主題に関して種々の程度の技能を有するユーザを発見するための同様の検索ボックスを表示する。検索結果は、検索語内の1又は複数のキーワードと一致するユーザ及び1又は複数のキーワードを含むユーザにより提示される関連メディアのリストを表示する。
図4は、プロジェクタ装置のような協調コンピューティング装置で閲覧するためのメディアタイプを選択するユーザインタフェース400の一実施形態のグラフィック表現である。ユーザインタフェース400は、ユーザのスマートフォンの受信箱にメッセージ401を表示する。メッセージ401は、添付403を含む。ユーザが添付403を選択すると、オーバレイ407が現れ、プレビュー、NAaaSリモートコントロールで開く、開く又はキャンセルする、を含む添付403を開く方法に関する選択肢のリスト405を提案する。「NAaaSリモートコントロールで開く(Open with NAaaS remote control)」選択肢409が選択されると、ユーザは、添付403が表示されるべき位置を選択するための別のユーザインタフェースに向けられる。別のユーザインタフェースは図5を参照して更に詳しく説明する。
図5は、表示のためにメディアを送信する場所を選択するユーザインタフェース500の一実施形態のグラフィック表現である。図5は、図4の選択肢のリスト405から「開く(Open in…)」選択肢を選択した後にユーザが見る次のスクリーンである。或いは、図5は、異なるステップ、例えばユーザが特定の位置に関連する装置を調べたいという状況に関連する。ユーザインタフェース500は、検索する位置を入力するための検索ボックス517を有する。ユーザインタフェース500は、表示するためにメディアを送信するためにユーザが選択できる位置のリスト515を有する。リスト515内の各項目は、位置の名称513及び位置の住所519である。「Conference room 4C」のボタン511を選択すると、ユーザは、装置リストを表示するための別のユーザインタフェースに向けられる。別のユーザインタフェースは図6を参照して更に詳しく説明する。
図6は、スマートフォンのようなユーザ装置の場所の又はその設定距離内の装置リストを表示するユーザインタフェース600の一実施形態のグラフィック表現である。ユーザインタフェース600は、「Conf.room 4C」と名付けられた位置601で検出された装置のリスト603を表示する。装置のリスト603は、1又は複数の協調コンピューティング装置103を有する。リスト603の各項目は、装置名605、装置の簡単な説明607、及び装置のサムネイル表現609を有する。「Projector 1」のボタン611を選択すると、ユーザは、選択した装置「Projector 1」へコマンドを送信するための別のユーザインタフェースに向けられる。別のユーザインタフェースは図7を参照して更に詳しく説明する。
図7は、スマートフォンのようなユーザ装置102から選択された協調コンピューティング装置(例えばプロジェクタ)へ送信するコマンドリストを表示するユーザインタフェース700の一実施形態のグラフィック表現である。図7は、図5のリスト415から位置を選択した後に表示される次のスクリーンである。しかしながら、ユーザが図4から図5へ行った場合、ユーザは図3で協調コンピューティング装置103で表示すべきソースマテリアル(添付303)を既に選択しているので、図7は表示されない。ユーザインタフェース700は、選択された装置「Projector 1」のサムネイル表現709を表示する。一実施形態では、ユーザインタフェース700は、ユーザが図6の「Projector 1」のボタン611をクリックするのに応答して達成されるコマンドのリスト701を表示する。ユーザは、「Turn On」タブ703をクリックすることにより装置「Projector 1」をオンにでき、「Turn Off」タブ705をクリックすることにより装置「Projector 1」をオフにでき、「Project」タブ707をクリックすることにより装置「Projector 1」にアイテムを投影できる。「Project」タブ707をクリックすると、ユーザは、動作のソースを選択するための別のユーザインタフェースに向けられる。別のユーザインタフェースは図8を参照して更に詳しく説明する。
図8は、スマートフォンのようなユーザ装置102から選択された協調コンピューティング装置(例えばプロジェクタ)の動作のソースを選択するユーザインタフェース800の一実施形態のグラフィック表現である。ユーザインタフェース800は、ユーザ装置102の表示の上にオーバレイ801を有する。オーバレイ801は、選択された装置「Projector 1」の動作のソースのリスト803を表示する。ユーザは、「Web」タブ805をクリックすることにより、ウェブから装置「Projector 1」に投影できる。ユーザは、「Camera Roll」タブ807をクリックすることにより、ユーザ装置102に関連するメモリから装置「Projector 1」に投影できる。ユーザは、「Camera」タブ809をクリックすることにより、ユーザ装置102に関連するカメラから装置「Projector 1」に投影できる。
図9は、文書のような、クエリと一致するメディアのリストを表示するユーザインタフェース900の一実施形態のグラフィック表現である。ユーザインタフェース900は、ユーザが1又は複数の検索語、例えば「ios」を入力するための検索ボックス902を有する。ユーザは、隣接選択肢ボックス904をクリックすることにより、1又は複数のリソースサーバから読み出すべきメディアの種類を選択できる。選択肢ボックス904は、ユーザが選択できるドロップダウンリストを提供する。例えば、ユーザは、「document」選択肢906を選択し、検索(search)をクリックできる。ユーザインタフェース900は、検索語「ios」と一致する文書のリストを提供する表908を表示する。表908の各行910は、文書912、例えばユーザがクリックして開くことができるプレゼンテーションプログラム文書のサムネイル表現を有する。表908の各行で提供される他の情報は、文書に関連する発表者の名前、日付(例えば、プレゼンテーションの日付)、位置(例えば、プレゼンテーションの位置)及び装置(例えば、プロジェクタ)を有する。
図10は、スマートフォンのようなユーザ装置102におけるクエリと一致する、文書のようなメディアのリストを表示するユーザインタフェース1000の別の実施形態のグラフィック表現である。ユーザインタフェース1000は、ユーザが1又は複数の検索語、例えば「ios」を入力するための検索ボックス1002を表示する。ユーザインタフェース1000は、1又は複数のリソースサーバ内の検索語「ios」と一致する文書のリスト1004を表示する。リスト1004の各エントリは、文書1006、例えばユーザが選択して開くことができるプレゼンテーションプログラム文書のサムネイル表現を有する。リスト1004の各エントリで提供される他の情報は、文書に関連する発表者の名前、日付(例えば、プレゼンテーションの日付)、位置(例えば、プレゼンテーションの位置)及び装置(例えば、プロジェクタ)を有する。
図11は、ユーザのために電子カレンダ内のイベントを生成するユーザインタフェース1100の一実施形態のグラフィック表現である。ユーザインタフェース1100は、対話型カレンダ1102を時間表示モードで表示する。他の実施形態が可能であり、対話型カレンダ1002は、他の表示モード、例えば、日、週、課題、等で表示される。ユーザが対話型カレンダ1102の時間枠1104を選択すると、イベント情報を入力するためにウインドウ1106が表示される。例えば、ユーザは、主題としてフィールド1108に「Staff Meeting」とタイプすることによりイベントの主題を入力する。入力される他の情報は、イベントの出席者、イベントの位置、開始日、終了日、開始時間、終了時間、等を有する。ウインドウ1106は、イベント「Staff Meeting」のためにユーザにより選択された「Conference Room 4C」という名称の位置1114で利用可能な装置のリスト1110も表示する。ユーザは、一覧表示された装置の隣にあるラジオボタン1112をクリックすることにより、イベント「Staff Meeting」で使用する装置を予約し、「Next」と示すボタン1116をクリックする。ボタン1116をクリックすると、ユーザは、予約した装置にアップロードすべきメディアを選択するための別のユーザインタフェースに向けられる。別のユーザインタフェースは図12を参照して更に詳しく説明する。
図12は、イベントのために予約された1又は複数の装置のためにアップロードするメディアを選択するユーザインタフェース1200の一実施形態のグラフィック表現である。ユーザインタフェース1200は、メディアを選択し及びアップロードするためのポップアップとしてウインドウ1202を表示する。ウインドウ1202は、ユーザが図11のボタン1116をクリックするのに応答して表示される。ウインドウ1202で、ユーザは、「Choose file」ボタン1104をクリックして(インターネット又はユーザ装置102からの)文書のリストを閲覧でき、次に「Upload」ボタン1206をクリックする。装置にアップロードされるファイルは、リスト1208に表示される。次に、ユーザは、「Create event」ボタン1210をクリックしてイベントを作成する。ボタン1210をクリックすると、ユーザは、作成したイベントの概要を表示し及び必要ならばユーザに変更させる別のユーザインタフェースに向けられる。別のユーザインタフェースは図13を参照して更に詳しく説明する。
図13は、カレンダ内に生成されたイベントの概観を提供し及び必要ならば変更するユーザインタフェース1300の一実施形態のグラフィック表現である。ユーザインタフェース1300は、イベントの主題、出席者リスト、イベントの位置、イベントのために予約された多数の装置、及び装置にアップロードされる文書のリストを含むイベント情報を一覧表示するウインドウ1302を表示する。ウインドウ1302で、ユーザは、必要な場合には、「Add more」ボタン1304をクリックすることにより、イベント「Staff Meeting」に更に多くの出席者を追加できる。ユーザは、「Choose a different location」ドロップダウンメニュ1306をクリックすることにより、イベント「Staff Meeting」の位置を変更できる。ユーザは、制御すべき装置1308を選択し、「Turn On Devices」ボタン1310をクリックできる。
図14は、協調コンピューティング装置103の構成設定(名称、IPアドレス、等)を指定するため及び構成設定をオン又はオフにするためのユーザインタフェース1400の一実施形態のグラフィック表現である。ユーザインタフェース1400は、予約した装置に対する命令を指定するためのポップアップとしてウインドウ1402を表示する。ウインドウ1402は、ユーザが図13のボタン1310をクリックするのに応答して表示される。ウインドウ1402で、ユーザは、「Turn On」リンク404をクリックし、次に予約した装置をこの命令で更新するために「Update Device」ボタン1406をクリックすることにより、予定時間を待たずに装置(及び全ての他の装置)の電源を入れることを選択できる。別の実施形態では、カレンダモジュール286は、指定された会議時間を見越して、装置の電源が入れられるべきときを決定する。
<方法>
図14−22を参照して、本発明の方法の種々の実施形態を説明する。図15は、エンタープライズサービスバス107及びNAaaSアプリケーションサービス106を用いて1又は複数種類の装置間の通信を管理する方法の一実施形態のフロー図1500である。エンタープライズサービスバス107は、ワークフローエンジン201、装置管理エンジン203、プロトコル適応エンジン205、メッセージ変換エンジン207、及びメッセージ拡張エンジン2093を有する。NAaaSアプリケーションサービス106は、ユーザ管理サービス211、装置管理サービス212、装置目録サービス265、位置サービス299、装置使用分析サービス213、メディアレポジトリサービス215、メディア分析サービス217、インデックスサービス267、カレンダモジュール286、請求サービス267、検索エンジン221、サーバ保守サービス227、通知サービス269を有する。
ワークフローエンジン201は、装置管理サービス203に、ネットワーク内の1又は複数種類の装置を識別するよう指示する(1502)。装置管理エンジン203は、装置目録サービス265に、IPアドレス及び名称(例えば装置識別子)を各装置に割り当てることにより、ネットワーク404で使用する1又は複数種類の装置を登録するよう指示する(1504)。例えば、ユーザは、タブレットPC、スマートフォン等のような個人の装置を登録でき、装置目録サービス265は、該装置をユーザのユーザ名又は別のユニークな識別子と関連付ける。別の例では、ユーザは、プロジェクタ、対話型ホワイトボード等のような協調コンピューティング装置103を、会議室又はビルのフロアのような特定の位置又は特定の空間範囲内での使用のために登録できる。装置目録サービス265は、IPアドレスをIPアドレスリストに追加する(1506)。例えば、装置目録サービス265は、データ記憶268に認可されたIPアドレスのリストを格納する。
幾つかの実施形態では、ワークフローエンジン201は、ユーザ管理サービス211に、認証証明書に基づき各ユーザを認証するよう指示する(1508)。例えば、認証証明書は、登録されたユーザのログイン証明書であり得る。プロトコル適応エンジン205、メッセージ変換エンジン207及びメッセージ拡張エンジン209は、ネットワーク内の1又は複数種類の装置間の要求を管理する(1510)。例えば、メッセージ変換エンジン207は、JSONフォーマットの第1のメッセージをJMSフォーマットに変換する。プロトコル適応エンジン205は、スマートフォンからのHTTPプロトコルをプロジェクタのためのTCPプロトコルに変換する。メッセージ拡張エンジン209は、受信すべき対象アプリケーションのメッセージに情報(例えば、追加認証情報、等)を追加する。ワークフローエンジン201は、装置使用分析サービス213に、ネットワーク194内の1又は複数種類の装置間で生じる要求の装置使用エントリを記録するよう指示する(1512)。
図16Aは、要求を変換することにより、異種装置間の相互接続を制御する方法の一実施形態のフロー図1600である。エンタープライズサービスバス107は、ワークフローエンジン201、装置管理エンジン203、プロトコル適応エンジン205、メッセージ変換エンジン207、及びメッセージ拡張エンジン2093を有する。NAaaSアプリケーションサービス106は、ユーザ管理サービス211、装置目録サービス265、装置管理サービス212、メディアレポジトリサービス215、メディア分析サービス217、請求エンジン267、通知サービス269、位置サービス299、装置使用分析サービス213を有する。
装置管理エンジン203は、ネットワーク内の第1の装置の位置を識別し(1602)、第1の装置の位置の一定距離範囲内にある1又は複数の装置の第1のリストを生成する(1604)。例えば、ユーザ装置102は、装置管理エンジン203に自身の位置を通知する。装置管理エンジン203は、NAaaSアプリケーションサービス106の一部である装置目録サービス265及び位置サービス299と相互作用して、プロジェクタ、対話型ホワイトボード及びウェブカメラのような、ユーザ装置102の位置から閾距離範囲内の位置にある協調コンピューティング装置103のリストを生成する。別の実施形態では、ユーザ装置102は、ユーザが装置を制御したいと望む会議室を指定し、装置管理エンジン203は、装置目録サービス265に、該会議室内にある装置のリストを生成するよう指示する。別の実施形態では、一定距離はネットワーク104の到達可能距離である。図6は、装置管理エンジン203がユーザに会議室4C(conference room 4C)313内で利用可能な装置のリストを提供する例である。装置管理エンジン203は、ユーザ装置102にリストを提供する。
装置管理エンジン203は、第1の装置に関連するユーザから、第1のリスト内の第2の装置の選択を受信する(1606)。装置管理エンジン203は、第1のリスト内の第2の装置に関連する機能を有する第2のリストを生成する(1608)。図7は、ユーザが第1のリストからプロジェクタを選択し、第2のリストが該プロジェクタに関連する機能を有する例である。
ワークフローエンジン201は、第2のリスト内の機能のうちの1つを実行する要求を第1の装置から受信する(1610)。例えば、機能リストは、電源入、電源断、投影、ズーム、拡張、自動合焦、印刷、双方向ビデオ録画及び送信、双方向オーディオ録音及び送信、言語翻訳、テキストから音声への変換、音声からテキストへの変換、等を含む。プロトコル適応エンジン205は、第1の装置からの要求の第1の通信プロトコルを、第2の装置により使用される第2の通信プロトコルに変換する(1612)。メッセージ変換エンジン207は、第1のメッセージフォーマットを第2のメッセージフォーマット514に変換する(1614)。ワークフローエンジン201は、第2の装置へ変換した要求を送信する(1616)。
ワークフローエンジン201は、装置使用分析サービス213に、変換された要求及び第2の装置により実行されたトランザクションに関連する装置使用エントリを記録するよう指示する(1618)。例えば、装置使用分析サービス213は、送信された要求の種類(例えば、投影、電源オン、電源オフ、検索、等)、要求を生成したユーザ装置102(例えば、スマートフォン、ラップトップ、等)のIPアドレス、ユーザ装置に関連するユーザのユーザ識別子、要求を受信した協調コンピューティング装置103(例えばプロジェクタ、ラップトップ、会議装置、等)のIPアドレス、使用される機能の種類(例えば、自動合焦、拡張、画像化、等)、1又は複数の装置間で交換されるメディアの種類(例えば、プレゼンテーションプログラム文書、テキスト文書、表計算文書、ビデオ録画、オーディオ録音、画像、等)等を記録する。
図16Bは、要求を変換することにより、異種装置間の相互接続を制御する方法の別の実施形態のフロー図1650である。エンタープライズサービスバス107は、ワークフローエンジン201、及び装置管理エンジン203を有する。NAaaSアプリケーションサービス106は、ユーザ管理サービス211、装置目録サービス265、位置サービス299及び装置管理サービス212を有する。
ワークフローエンジン201は、第1のユーザからメディアの選択を受信する(1652)。例えば、ユーザは、電子メールの添付を選択する。装置管理エンジン203は、メディアに関連する機能の第1のリストを生成する(1654)。例えば、ユーザは、電子メールを投影する。ワークフローエンジン201は、第1のリストをユーザへ送信する。ワークフローエンジン201は、第1のユーザから選択された機能を受信する(1656)。装置管理エンジン203は、位置サービス299に、ユーザの位置を決定するよう指示する。次に、装置管理エンジン203は、位置サービス299に、選択された機能が実行され得る位置を有する第2のリストを生成するよう指示する(1658)。例えば、位置サービス299は、ユーザから閾距離範囲内の位置のリストを生成し、又はユーザは、ユーザが装置を選択したいと望む位置に関する追加入力を提供する。ワークフローエンジン201は、第2のリストをユーザへ送信する。幾つかの実施形態では、選択された機能が実行できる位置のリストの代わりに、第2のリストは、選択された機能を実行できる特定位置に存在する装置を有する。例えば、装置管理エンジン203は、装置目録サービス265及び位置サービス299と相互作用し、位置に存在する協調コンピューティング装置103のリストを生成する。
ワークフローエンジン201は、第2のリストから選択された位置を受信する(1660)。装置管理エンジン203は、装置目録サービス265及び装置管理サービス212に、選択された機能が実行され得る選択された位置にある装置の第3のリストを生成するよう指示する(1662)。例えば、第3のリストは、利用可能な装置を有する。ワークフローエンジン201は、第3のリストをユーザへ送信する。ワークフローエンジン201は、第3のリストから選択された装置を受信する(1664)。ワークフローエンジン201は、選択された装置へ機能を実行する要求を送信する(1666)。例えば、ワークフローエンジン201は、電子メールの添付を投影する要求を会議室内のプロジェクタへ送信する。
図17は、装置により実行される各トランザクションについて決定される請求情報に基づき請求書を生成する方法の一実施形態のフロー図1700である。ワークフローエンジン201は、装置使用分析サービス213に、データ記憶268から、ネットワーク内の各装置により実行されたトランザクションに関連する装置使用エントリを読み出すよう指示する(1702)。例えば、装置使用分析サービス213は、過去1ヶ月以内にユーザ装置102により要求された全てのトランザクションに関する装置使用エントリを読み出す。ワークフローエンジン201は、読み出したデータを請求サービス267へ送信する。請求サービス267は、各トランザクションに関連する請求情報を計算し(1704)、各トランザクションに関連する請求情報に基づく請求書を生成する(1706)。例えば、請求サービス267は、患者の脊椎を画像化するためにMRI(Magnetic Resonance Imaging)装置を使用する請求情報が2000ドルであると決定する。通知サービス269は、請求書が準備できたことを示す通知を送信する(1708)。ワークフローエンジン201は、通知を受信し、該通知を装置へ又は装置に関連するユーザの電子メールアカウントへ送信する。
図18は、エンタープライズサービスバス107及びNAaaSアプリケーションサービス106を用いて1又は複数のリソースサーバのためにグローバルデータベースインデックスを編集する方法の一実施形態のフロー図1800である。エンタープライズサービスバス107は、ワークフローエンジン201を有する。NAaaSアプリケーションサービス106は、メディア分析サービス217及びインデックス付けサービス287を有する。ワークフローエンジン201は、メディアを有する要求を受信する(1802)。例えば、ユーザ装置102は、ビデオ会議装置を用いて人々とビデオ会議を行う要求をワークフローエンジン201へ送信する。ワークフローエンジン201は、協調コンピューティング装置103へメディアを送信する(1804)。協調コンピューティング装置は、リソースサーバ105にメディアを格納する。例えば、ワークフローエンジン201は、ビデオ会議データをビデオ会議装置へ送信し、ビデオ会議データを分析のためにメディア分析サービス217へ送信する。
メディア分析サービス217は、例えば音声−テキスト変換を用いることにより、メディア内のテキストを識別する(1806)。ワークフローエンジン201は、インデックス付けサービス287に、メディア内の識別したテキストに基づきキーワードをメディアに関連付ける各リソースサーバ105に関する個々のデータベースインデックスを生成する(1808)。ワークフローエンジン201は、インデックス付けサービス287に、個々のデータベースインデックスからグローバルデータベースインデックスを編集するよう指示する(1810)。グローバルデータベースインデックスは、キーワードと、リソースサーバ105にメディアが格納されている位置を指すポインタリファレンスとを有する。例えば、ビデオ会議は、ビデオ会議装置に関連するリソースサーバに格納される。
図19は、エンタープライズサービスバス107及びNAaaSアプリケーションサービス106を用いて1又は複数のリソースサーバのために要求を変換する方法の一実施形態のフロー図1900である。エンタープライズサービスバス107は、ワークフローエンジン201、及びプロトコル適応エンジン205を有する。NAaaSサービス106は、検索エンジン221を有する。
ワークフローエンジン201は、クエリに関連する1又は複数種類のメディアについての該クエリを第1の装置から受信する(1902)。ワークフローエンジン201は検索エンジン221へ要求を送信し、検索エンジン221はクエリと一致するグローバルデータベースインデックス内のキーワードを識別する(1904)。ワークフローエンジン201は、検索エンジン221からキーワードを受信し、キーワードに関連するメディアを格納する1又は複数のリソースサーバ105を決定する(1906)。ワークフローエンジン201は、1又は複数のリソースサーバ105に対するメディアに関する要求を生成する(1908)。要求の通信プロトコルとリソ―スサーバ105により使用される通信プロトコルとの間に相違がある場合には、ワークフローエンジン201は、要求をプロトコル適応エンジン205へ送信する。プロトコル適応エンジン205は、要求の第1の通信プロトコルと、1又は複数のリソースサーバの1又は複数種類の第2の通信プロトコルとを決定する(1910)。プロトコル適応エンジン205は、第1の通信プロトコルからの要求を1又は複数種類の第2の通信プロトコルの各々に変換する(1912)。要求のメッセージフォーマットとリソースサーバのメッセージフォーマットとの間に相違がある場合には、メッセージ変換エンジン207は、要求の第1のメッセージフォーマットと、1又は複数のリソースサーバの1又は複数種類の第2のメッセージフォーマットとを決定する(1914)。メッセージ変換エンジン207は、第1のメッセージフォーマットからの要求を1又は複数種類の第2のメッセージフォーマットの各々に変換する(1916)。ワークフローエンジン201は、1又は複数のリソースサーバ105からの変換された要求と一致する1又は複数の結果を読み出し(1918)、1又は複数の結果を第1の装置へ送信する(1920)。
図20は、エンタープライズサービスバス107及びNAaaSアプリケーションサービス106を用いてカレンダイベントのために予約された1又は複数の装置を制御する方法の一実施形態のフロー図2000である。エンタープライズサービスバス107は、ワークフローエンジン201、及び装置管理エンジン203を有する。NAaaSアプリケーションサービス106は、カレンダモジュール286、装置目録サービス265、装置管理サービス212及び通知サービス269を有する。
カレンダモジュール286は、ワークフローエンジン201を介して、主催者から、カレンダアプリケーションサービスで出席者リストのためのイベントを生成する要求及びイベントの位置の選択を受信する(2002)。ワークフローエンジン201は、エンタープライズサービスバス107内の装置管理エンジン203へ選択された位置を送信する。装置管理エンジン203は、装置目録サービス265に、その位置で使用のために提供される装置セットを決定するよう指示する(2004)。例えば、ユーザは、イベントがカリフォルニア州のメンロパークにある会議室で行われると指定するが、ユーザは、日本の東京にある会議室から参加する。位置の選択に関する更なる詳細は、図16A及び16Bを参照して上述した通りである。ワークフローエンジン201は、装置セットのうちの少なくとも幾つかの装置の選択、イベントの開始時間及び終了時間、イベントの名称を受信する。装置管理エンジン203は、イベントの閾開始時間内に主催者の装置の位置を決定する(2008)。ワークフローエンジン201は、イベントを開始時間に開始すべきであるかどうかを主催者に尋ねる問い合わせを送信する(2010)。例えば、ワークフローエンジン201は、イベントが予定されている5分前に、イベントを予定時間に開始すべきかどうかを主催者に尋ねる問い合わせを送信する。問い合わせは、通知サービス269により生成され、ワークフローエンジン201により受信される。ワークフローエンジン201は、カレンダモジュール286に、イベントを同じ時間に開始すべきであるという確認を主催者から受信する(2012)。装置管理エンジン203は、装置セットに、開始時間に使用するために電源を入れるよう指示する。例えば、装置管理エンジン203は、イベントの開始時間の5分前に装置セットに指示する。
図21は、エンタープライズサービスバス107及びNAaaSアプリケーションサービス106を用いてカレンダイベントのために予約された1又は複数の装置を制御する方法の別の実施形態のフロー図である。エンタープライズサービスバス107は、ワークフローエンジン201を有する。NAaaSアプリケーションサービス106は、カレンダモジュール286、装置目録サービス265、装置管理サービス212及び通知サービス269を有する。
ワークフローエンジン201は、カレンダモジュール286に、カレンダアプリケーションで出席者リストのためのイベントを生成する要求及びイベントの位置の選択を受信するよう指示する(2012)。
例えば、位置はビルA内の会議室201Bである。主催者は、イベントの開始時間及び終了時間も設定する。ワークフローエンジン201は、装置目録サービス265に、その位置で使用するために提供される装置セットを決定するよう指示する(2104)。ワークフローエンジン201は、イベントで使用するために提供される装置セットのうちの1又は複数の装置を予約する要求を受信する(2106)。ワークフローエンジン201は、装置に関連するユーザが出席する必要があるか又は任意で出席するかの指示を受信する(2108)。ワークフローエンジン201は、メディアレポジトリサービス215に、表示のために1又は複数の装置の各々に関連する1又は複数種類のメディアを受信するよう指示する(2110)。ワークフローエンジン201は、1又は複数の装置に、イベントの始めに電源を入れるよう指示する(2112)。イベントの終わり頃、例えばイベントが終了する予定の5分前に、ワークフローエンジン201は、通知サービス269に、イベントを終了すべきかどうかを尋ねる通知を生成するよう指示する。任意で、ワークフローエンジン201は、通知を受信し、イベントを終了すべきかどうかを出席者リストのうちの少なくとも1人に問い合わせ(2114)、出席者リストのうちの1人から確認を受信するのに応答して、ワークフローエンジン201は、電源を入れられていた1又は複数の装置に電源を切るよう指示する(2116)。
図22は、エンタープライズサービスバス107及びNAaaSアプリケーションサービス106を用いてカレンダイベントのために1又は複数の通知を生成する方法の一実施形態のフロー図である。エンタープライズサービスバス107は、ワークフローエンジン201、及び装置管理エンジン203を有する。NAaaSアプリケーションサービス106は、通知サービス269を有する。装置管理エンジン203は、開催地でイベントを開始する前に、出席者リストに関連する1又は複数の装置の位置を決定する(2202)。装置管理エンジン203は、1又は複数の装置のうちの少なくとも1つが開催地に不在であるか否かを調べる(2204)。1又は複数の装置のうちの少なくとも1つが開催地に不在である場合、装置管理エンジン203は、1又は複数の装置のうちの少なくとも1つが開催地から閾距離範囲内に存在するか否かを調べる(2208)。閾は、予め設定された既定値であるか、イベントの主催者などにより定められ得る。
1又は複数の装置のうちの少なくとも1つが開催地に不在でない場合、装置管理エンジン203は、通知サービス269に、イベントを開始するよう提案するよう指示する(2206)。幾つかの実施形態では、装置管理エンジン203は、不在である装置に関連するユーザの身元を調べる。そのユーザの出席がイベントにとって重要でない場合、装置管理エンジン203は、通知サービス269に、イベントを開始するよう提案するよう指示する(2206)。例えば、図21で言及したように、イベントを生成したユーザは、一部の出席者を必須出席者に指定し、他の出席者を任意出席者に指定する。ユーザが任意出席者のうちの1人である場合、イベントは開始可能である。
1又は複数の装置のうちの少なくとも1つが開催地から閾距離範囲内に存在する場合、装置管理エンジン203は、通知サービス269に、イベントを開始するよう提案するよう指示する(2206)。1又は複数の装置のうちの少なくとも1つが開催地から閾距離範囲内に存在しない場合、装置管理エンジン203は、通知サービス269に、イベントの開始を遅らせる通知を生成するよう指示する(2210)。
以上の実施形態の説明は、説明及び開設を目的としている。上述の記載は、網羅的であること又は本願明細書を開示の特定の形式に限定することを意図しない。上述の教示に照らして多くの修正及び変形が可能である。実施形態の範囲はこの詳細な説明に限定されず、本願の特許請求の範囲により定められる。当業者により理解されるように、種々の例が、本発明の精神又は基本的特徴から逸脱することなく他の特定の形式で実施できる。同様に、モジュール、ルーチン、特徴、属性、方法及び他の態様の特定の名称及び区分は、必須でも重要でもなく、明細書及びその特徴を実施するメカニズムは、異なる名称、区分及び/又はフォーマットを有しても良い。さらに、当業者に明らかなように、本願明細書のモジュール、ルーチン、特徴、属性、方法は、ソフトウェア、ファームウェア、又それらの任意の組合せで実装できる。また、本願明細書の例えばモジュールであるコンポーネントがソフトウェアとして実装されるときは、コンポーネントは、スタンドアロンプログラム、大規模プログラムの一部、複数の別個のプログラム、静的又は動的リンクライブラリ、カーネルローダブルモジュール、デバイスドライバとして、及び/又はコンピュータプログラミングの当業者に現在知られている若しくは将来知られる如何なる他の方法でも実装され得る。さらに、本願明細書は、特定プログラミング言語、又は特定のオペレーティングシステム若しくは環境での実装に限定されない。したがって、本開示は、限定ではなく、本願明細書の範囲の説明を目的とする。
101 NAaaSミドルウェアサーバ
104 ネットワーク
105 クラウド
106 NAaaSアプリケーションサービス
107 エンタープライズサービスバス(ESB)
120 ウェブサーバ
121 ユーザインタフェースエンジン
123 NAaaSアプリケーションサーバ
201 ワークフローエンジン
203 装置管理エンジン
205 プロトコル適応エンジン
207 メッセージ変換エンジン
209 メッセージ拡張エンジン
211 ユーザ管理サービス
212 装置管理サービス
213 装置使用分析サービス
215 メディアレポジトリサービス
217 メディア分析サービス
221 検索エンジン
227 サーバ保守サービス
240 プロセッサ
245 メモリ
250 通信ユニット
255 データ記憶
262 プロセッサ
264 メモリ
265 装置目録サービス
266 通信ユニット
267 請求サービス
268 データ記憶
269 通知サービス
286 カレンダモジュール
287 インデックス付けサービス
299 位置サービス

Claims (14)

  1. コンピュータが実行する方法であって、
    1又は複数のコンピューティング装置を用いて、第1の装置の位置と、ネットワーク内で前記第1の装置の位置から一定距離範囲内にある1又は複数の装置の第1のリストとを識別するステップと、
    前記1又は複数のコンピューティング装置を用いて、前記第1の装置に関連するユーザから前記第1のリストの中の第2の装置の選択を受信するステップと、
    前記1又は複数のコンピューティング装置を用いて、前記ユーザにより選択された第2の装置に関連する機能を有する第2のリストを生成するステップと、
    前記1又は複数のコンピューティング装置を用いて、前記第1の装置から、前記第2のリストの中の前記機能のうちの1つを実行する第1の要求を受信するステップと、
    前記1又は複数のコンピューティング装置を用いて、前記第1の装置から受信した前記第1の要求の第1の通信プロトコルを前記第2の装置により用いられる第2の通信プロトコルに変換するステップであって、変換された要求を生成する、ステップと、
    前記1又は複数のコンピューティング装置を用いて、前記第1の要求の第1のメッセージフォーマットを前記第2の装置により用いられる第2のメッセージフォーマットに変換するステップと、
    前記1又は複数のコンピューティング装置を用いて、前記の変換された第1の要求を前記第2の装置へ送信するステップと、
    前記第1の装置から、主題に関連する1又は複数種類のメディアについての第2の要求を受信するステップと、
    前記第2の要求に含まれる前記主題に一致するキーワードを含むグローバルインデックスを決定し、該グローバルインデックスに該キーワードと一緒に含まれるポインタリファレンスに基づき、前記第2の要求が向けられている1又は複数のリソースサーバを決定するステップであって、前記キーワードは、格納されたメディア内のキーワードであり、前記ポインタリファレンスは、リソースサーバ内の該格納されたメディアを指すポインタリファレンスである、ステップと、
    前記第2の要求の第1の通信プロトコルと、前記1又は複数のリソースサーバの1又は複数種類の第2の通信プロトコルとを決定するステップと、
    前記第2の要求の第1のメッセージフォーマットと、前記1又は複数のリソースサーバの1又は複数種類の第2のメッセージフォーマットとを決定するステップと、
    前記第1の通信プロトコルからの前記第2の要求を前記1又は複数のリソースサーバの前記1又は複数種類の第2の通信プロトコルの各々に変換するステップと、
    前記第1のメッセージフォーマットからの前記第2の要求を前記1又は複数のリソースサーバの前記1又は複数種類の第2のメッセージフォーマットの各々に変換するステップと、
    前記1又は複数のリソースサーバから、前記の変換された第2の要求と一致する前記1又は複数種類のメディアを読み出すステップと、
    前記第1の装置へ、前記の変換された第2の要求と一致する前記1又は複数種類のメディアを送信するステップと、
    を有する方法。
  2. 前記第1の装置にIP(internet protocol)アドレスと名称を割り当て及び前記IPアドレスをリストに追加することにより、使用のために前記第1の装置を登録するステップと、
    前記第2の装置に装置識別子と名称を割り当て及び前記装置識別子をリストに追加することにより、前記ネットワーク内での使用のために前記第2の装置を登録するステップと、
    を更に有する請求項1に記載の方法。
  3. 前記変換された第1の要求及び前記変換された第2の要求に関連する装置使用エントリを記録するステップであって、前記装置使用エントリは、要求種類、前記第1の装置のIPアドレス、前記第1の装置に関連するユーザのユーザ識別子、前記第2の装置のユニークな装置識別子、並びに前記変換された第1の要求及び前記変換された第2の要求に含まれるメディアの種類を有する、ステップと、
    を更に有する請求項に記載の方法。
  4. 前記第2の装置により実行される少なくとも1つのトランザクションに関連する装置使用エントリを読み出すステップと、
    前記少なくとも1つのトランザクションに関連する請求情報を決定するステップと、
    各トランザクションに関連する前記請求情報に基づき請求書を生成するステップと、
    を更に有する請求項に記載の方法。
  5. 1又は複数の装置の前記第1のリストから選択された前記第2の装置のうちのどれが一定時間空いているかを決定するステップと、
    1又は複数の装置の前記第1のリストから選択された前記第2の装置のうちのどれが空いているかを示す、前記第1の装置に対する通知を生成するステップと、
    を更に有する請求項1に記載の方法。
  6. 1又は複数種類のメディアを有する要求を受信するステップと、
    前記メディア内のテキストを識別するステップと、
    前記テキストに基づきグローバルデータベースインデックスを編集するステップ
    を更に有する請求項に記載の方法。
  7. 前記1又は複数のリソースサーバに関連する前記1又は複数種類の第2の装置のAPI(Application Programming Interface)に関する1又は複数種類の更新を決定するステップと、
    前記1又は複数種類の第2の装置の前記APIの前記1又は複数種類の更新が実行される前に、前記1又は複数種類の第2の装置に対する要求を受信するために前記第1の装置に公開される標準インタフェースが更新されるべきであると示す通知を送信するステップと、
    を更に有する請求項に記載の方法。
  8. 1又は複数のプロセッサと、
    メモリに格納され前記1又は複数のプロセッサにより実行可能であるエンタープライズサービスバスであって、前記エンタープライズサービスバスは、1又は複数の装置の第1のリストを生成し、第1の装置に関連するユーザから、前記第1のリストの中の第2の装置の選択を受信し、前記ユーザから、前記の選択された第2の装置に関連する機能を有する第2のリストを生成し、前記第1の装置から、前記第2のリストの中の前記機能のうちの1つを実行する第1の要求を受信し、前記第1の装置から受信した前記第1の要求の第1の通信プロトコルを前記第2の装置により用いられる第2の通信プロトコルに変換して変換された要求を生成し、前記第1の要求の第1のメッセージフォーマットを前記第2の装置により用いられる第2のメッセージフォーマットに変換し、前記変換された第1の要求を前記第2の装置へ送信するよう構成される、エンタープライズサービスバスと、前記1又は複数のプロセッサにより実行可能なアプリケーションサービスであって、前記アプリケーションサービスは、ネットワーク内の前記第1の装置の位置を識別し、前記エンタープライズサービスバスに前記第1の装置の前記位置から一定距離範囲内にある1又は複数の装置の前記第1のリストを提供するよう構成される、アプリケーションサービスと、
    を有し、
    前記エンタープライズサービスバスは、
    前記ネットワーク内の前記第1の装置から主題に関連する1又は複数種類のメディアについての第2の要求を受信し、前記第2の要求を前記アプリケーションサービスへ送信し、前記アプリケーションサービスに、前記第2の要求に含まれる前記主題に一致するキーワードを含むグローバルインデックスを決定させ、該グローバルインデックスに該キーワードと一緒に含まれるポインタリファレンスに基づき前記第2の要求が向けられている1又は複数のリソースサーバを決定させ、前記キーワードは格納されたメディア内のキーワードであり、前記ポインタリファレンスはリソースサーバ内の該格納されたメディアを指すポインタリファレンスであり、前記第2の要求が向けられている1又は複数のリソースサーバの決定を受信し、前記第2の要求の第1の通信プロトコルと、前記1又は複数のリソースサーバの1又は複数種類の第2の通信プロトコルとを決定し、前記第2の要求の第1のメッセージフォーマットと、前記1又は複数のリソースサーバの1又は複数種類の第2のメッセージフォーマットとを決定し、前記第1の通信プロトコルからの前記第2の要求を前記1又は複数のリソースサーバの前記1又は複数種類の第2の通信プロトコルの各々に変換し、前記第1のメッセージフォーマットからの前記第2の要求を前記1又は複数のリソースサーバの前記1又は複数種類の第2のメッセージフォーマットの各々に変換し、前記1又は複数のリソースサーバから、前記の変換された第2の要求と一致する前記1又は複数種類のメディアを読み出し、前記第1の装置へ、前記1又は複数種類のメディアを送信するよう更に構成され、
    前記アプリケーションサービスは、前記エンタープライズサービスバスから前記第2の要求を受信し、グローバルインデックスに一致する前記第2の要求に基づき前記第2の要求が向けられている前記1又は複数のリソースサーバを決定し、前記1又は複数のリソースサーバの決定を前記エンタープライズサービスバスへ送信し、前記1又は複数のリソースサーバは1又は複数種類の第2の装置に関連する、よう更に構成される、
    システム。
  9. 前記アプリケーションサービスは、前記変換された第1の要求及び前記変換された第2の要求に関連する装置使用エントリを記録するよう更に構成され、前記装置使用エントリは、要求種類、前記第1の装置のIPアドレス、前記第1の装置に関連するユーザのユーザ識別子、前記第2の装置のユニークな装置識別子、並びに前記変換された第1の要求及び前記変換された第2の要求に含まれるメディアの種類を有する、請求項に記載のシステム。
  10. 前記アプリケーションサービスは、前記第2の装置により実行される少なくとも1つのトランザクションに関連する装置使用エントリを読み出し、前記少なくとも1つのトランザクションに関連する請求情報を決定し、各トランザクションに関連する前記請求情報に基づき請求書を生成するよう更に構成される、請求項に記載のシステム。
  11. 前記エンタープライズサービスバスは、1又は複数種類のメディアを有する要求を受信し、前記メディア内のテキストを識別し、前記テキストに基づきグローバルデータベースインデックスを編集するよう更に構成され、請求項に記載のシステム。
  12. 前記アプリケーションサービスは、前記1又は複数のリソースサーバに関連する前記1又は複数種類の第1の装置のAPI(Application Programming Interface)に関する1又は複数種類の更新を決定し、前記1又は複数種類の第2の装置の前記APIの前記1又は複数種類の更新が実行される前に、前記1又は複数種類の第2の装置に対する要求を受信するために前記第1の装置に公開される標準インタフェースが更新されるべきであると示す通知を送信するよう更に構成される、請求項に記載のシステム。
  13. コンピュータ可読プログラムを有するコンピュータにより使用可能な媒体を有するコンピュータプログラムであって、前記コンピュータ可読プログラムは、コンピュータで実行されると、該コンピュータに、
    第1の装置の位置と、ネットワーク内で前記第1の装置の位置から一定距離範囲内にある1又は複数の装置の第1のリストとを識別させ
    前記第1の装置に関連するユーザから前記第1のリストの中の第2の装置の選択を受信させ
    前記ユーザにより選択された第2の装置に関連する機能を有する第2のリストを生成させ
    前記第1の装置から、前記第2のリストの中の前記機能のうちの1つを実行する第1の要求を受信させ
    前記第1の装置から受信した前記第1の要求の第1の通信プロトコルを前記第2の装置により用いられる第2の通信プロトコルに変換させ、変換された要求を生成させ
    前記第1の要求の第1のメッセージフォーマットを前記第2の装置により用いられる第2のメッセージフォーマットに変換させ
    前記の変換された第1の要求を前記第2の装置へ送信させ
    前記第1の装置から、主題に関連する1又は複数種類のメディアについての第2の要求を受信させ、
    前記第2の要求に含まれる前記主題に一致するキーワードを含むグローバルインデックスを決定し、該グローバルインデックスに該キーワードと一緒に含まれるポインタリファレンスに基づき、前記第2の要求が向けられている1又は複数のリソースサーバを決定させ、前記キーワードは、格納されたメディア内のキーワードであり、前記ポインタリファレンスは、リソースサーバ内の該格納されたメディアを指すポインタリファレンスであり、
    前記第2の要求の第1の通信プロトコルと、前記1又は複数のリソースサーバの1又は複数種類の第2の通信プロトコルとを決定させ、
    前記第2の要求の第1のメッセージフォーマットと、前記1又は複数のリソースサーバの1又は複数種類の第2のメッセージフォーマットとを決定させ、
    前記第1の通信プロトコルからの前記第2の要求を前記1又は複数のリソースサーバの前記1又は複数種類の第2の通信プロトコルの各々に変換させ、
    前記第1のメッセージフォーマットからの前記第2の要求を前記1又は複数のリソースサーバの前記1又は複数種類の第2のメッセージフォーマットの各々に変換させ、
    前記1又は複数のリソースサーバから、前記の変換された第2の要求と一致する前記1又は複数種類のメディアを読み出させ、
    前記第1の装置へ、前記の変換された第2の要求と一致する前記1又は複数種類のメディアを送信させる、
    コンピュータプログラム。
  14. 前記コンピュータに、さらに、
    前記変換された第1の要求及び前記変換された第2の要求に関連する装置使用エントリを記録させ、前記装置使用エントリは、要求種類、前記第1の装置のIPアドレス、前記第1の装置に関連するユーザのユーザ識別子、前記第2の装置のユニークな装置識別子、並びに前記変換された第1の要求及び前記変換された第2の要求に含まれるメディアの種類を有する、請求項13に記載のコンピュータプログラム。
JP2013244940A 2012-11-29 2013-11-27 統一通信サービスのためのネットワーク機器アーキテクチャ Expired - Fee Related JP6291811B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/689,752 2012-11-29
US13/689,752 US9363214B2 (en) 2012-11-29 2012-11-29 Network appliance architecture for unified communication services

Publications (2)

Publication Number Publication Date
JP2014106979A JP2014106979A (ja) 2014-06-09
JP6291811B2 true JP6291811B2 (ja) 2018-03-14

Family

ID=49709492

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013244940A Expired - Fee Related JP6291811B2 (ja) 2012-11-29 2013-11-27 統一通信サービスのためのネットワーク機器アーキテクチャ

Country Status (3)

Country Link
US (4) US9363214B2 (ja)
EP (3) EP2860944B1 (ja)
JP (1) JP6291811B2 (ja)

Families Citing this family (101)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10019995B1 (en) 2011-03-01 2018-07-10 Alice J. Stiebel Methods and systems for language learning based on a series of pitch patterns
US11062615B1 (en) 2011-03-01 2021-07-13 Intelligibility Training LLC Methods and systems for remote language learning in a pandemic-aware world
US10692020B2 (en) * 2011-04-29 2020-06-23 Crestron Electronics, Inc. Real-time automatic meeting room reservation based on the number of actual participants
US20140152665A1 (en) * 2012-11-30 2014-06-05 Sap Ag Multi-media collaborator
US20140229449A1 (en) * 2013-02-11 2014-08-14 Abu Shaher Sanaullah Realtime identification of context mismatch
US9430416B2 (en) 2013-03-14 2016-08-30 Savigent Software, Inc. Pattern-based service bus architecture using activity-oriented services
US9467328B2 (en) * 2013-05-14 2016-10-11 American Megatrends, Inc. Remote management of digital signage devices
US20140366091A1 (en) * 2013-06-07 2014-12-11 Amx, Llc Customized information setup, access and sharing during a live conference
US9195972B2 (en) * 2013-09-30 2015-11-24 Globalfoundries Inc. Smart calendar
RU2595533C2 (ru) * 2013-10-02 2016-08-27 Общество С Ограниченной Ответственностью "Яндекс" Система отображения почтовых вложений на странице веб-почты
US10089310B2 (en) * 2014-01-14 2018-10-02 Microsoft Technology Licensing, Llc Complementary and shadow calendars
WO2015108330A1 (en) * 2014-01-20 2015-07-23 Samsung Electronics Co., Ltd. Electronic device for controlling an external device using a number and method thereof
CA2947402A1 (en) * 2014-05-05 2015-11-12 Usablenet Inc. Methods for facilitating a remote interface and devices thereof
US11120408B2 (en) 2014-05-06 2021-09-14 Microsoft Technology Licensing, Llc Scheduling conflict notification
US9912710B2 (en) * 2014-07-15 2018-03-06 Maximum Media LLC Systems and methods for automated real-time Internet streaming and broadcasting
US9781054B1 (en) * 2014-07-25 2017-10-03 Google Inc. Quota-based resource scheduling
US9791841B2 (en) 2014-08-12 2017-10-17 Citrix Systems, Inc. Designer interface for control systems
US9794975B1 (en) * 2014-08-14 2017-10-17 Mobile Iron, Inc. Personal device management
US9628529B2 (en) * 2014-08-18 2017-04-18 Cisco Technology, Inc. Region on interest selection
US10088979B2 (en) * 2014-09-26 2018-10-02 Oracle International Corporation Recasting a form-based user interface into a mobile device user interface using common data
US9832149B2 (en) * 2014-09-30 2017-11-28 Microsoft Technology Licensing, Llc Treatment of cloud-based and local attachments in communication applications
US20160092045A1 (en) 2014-09-30 2016-03-31 Splunk, Inc. Event View Selector
USD770498S1 (en) * 2014-12-23 2016-11-01 Ge Healthcare Bio-Sciences Corp. Display screen or portion thereof with graphical user interface
US9922084B2 (en) 2015-01-30 2018-03-20 Splunk Inc. Events sets in a visually distinct display format
US9977803B2 (en) 2015-01-30 2018-05-22 Splunk Inc. Column-based table manipulation of event data
US10013454B2 (en) 2015-01-30 2018-07-03 Splunk Inc. Text-based table manipulation of event data
US10061824B2 (en) 2015-01-30 2018-08-28 Splunk Inc. Cell-based table manipulation of event data
US11442924B2 (en) 2015-01-30 2022-09-13 Splunk Inc. Selective filtered summary graph
US10726037B2 (en) 2015-01-30 2020-07-28 Splunk Inc. Automatic field extraction from filed values
US9922082B2 (en) 2015-01-30 2018-03-20 Splunk Inc. Enforcing dependency between pipelines
US9916346B2 (en) 2015-01-30 2018-03-13 Splunk Inc. Interactive command entry list
US11544248B2 (en) 2015-01-30 2023-01-03 Splunk Inc. Selective query loading across query interfaces
US9842160B2 (en) 2015-01-30 2017-12-12 Splunk, Inc. Defining fields from particular occurences of field labels in events
US10915583B2 (en) 2015-01-30 2021-02-09 Splunk Inc. Suggested field extraction
US11615073B2 (en) 2015-01-30 2023-03-28 Splunk Inc. Supplementing events displayed in a table format
US9210534B1 (en) * 2015-02-19 2015-12-08 Citrix Systems, Inc. Location assistance in a machine to machine instant messaging system
KR20150035877A (ko) * 2015-02-25 2015-04-07 네이버 주식회사 실시간 대화를 기반으로 한 트랜잭션 처리 방법과 시스템 및 기록 매체
US10270849B2 (en) 2015-02-26 2019-04-23 Microsoft Technology Licensing, Llc Scalable peer matching
US10148748B2 (en) * 2015-02-26 2018-12-04 Microsoft Technology Licensing, Llc Co-locating peer devices for peer matching
US9661477B1 (en) * 2015-03-06 2017-05-23 AI Incorporated Collaborative robotic device work group
US10877714B2 (en) * 2015-03-10 2020-12-29 Zoho Corporation Private Limited Methods and apparatus for enhancing electronic presentations
JP2016177088A (ja) * 2015-03-19 2016-10-06 株式会社リコー 表示制御装置、表示制御システム、グラフィカルユーザインターフェース及び表示制御プログラム
US9824515B2 (en) 2015-03-24 2017-11-21 At&T Intellectual Property I, L.P. Automatic calendric physical access
US9582841B2 (en) 2015-03-24 2017-02-28 At&T Intellectual Property I, L.P. Location based emergency management plans
US9972144B2 (en) 2015-03-24 2018-05-15 At&T Intellectual Property I, L.P. Automatic physical access
US10296851B2 (en) * 2015-04-11 2019-05-21 At&T Intellectual Property I, L.P. Automatic allocation of physical facilities for maximum collaboration
US10229209B2 (en) 2015-03-30 2019-03-12 Airwatch Llc Providing search results based on enterprise data
US10318582B2 (en) 2015-03-30 2019-06-11 Vmware Inc. Indexing electronic documents
US10089388B2 (en) 2015-03-30 2018-10-02 Airwatch Llc Obtaining search results
US10298633B2 (en) * 2015-03-31 2019-05-21 Vmware, Inc. Cloud-based conferencing on a mobile device
US10182084B2 (en) 2015-03-31 2019-01-15 Vmware, Inc. Cloud-based conferencing system
US20160307164A1 (en) * 2015-04-15 2016-10-20 Sugarcrm Inc. Location aware event scheduling
US20160321226A1 (en) * 2015-05-01 2016-11-03 Microsoft Technology Licensing, Llc Insertion of unsaved content via content channel
US10909080B2 (en) * 2015-05-04 2021-02-02 Microsoft Technology Licensing, Llc System and method for implementing shared document edits in real-time
US9961085B2 (en) * 2015-06-15 2018-05-01 Microsoft Technology Licensing, Llc Linking identities in a network entity
US10742681B2 (en) * 2015-08-21 2020-08-11 PushPull Technology Limited Data collaboration
US11038687B2 (en) 2015-08-21 2021-06-15 PushPull Technology Limited Data collaboration
WO2017042331A1 (en) * 2015-09-11 2017-03-16 Barco N.V. Method and system for connecting electronic devices
US11120342B2 (en) 2015-11-10 2021-09-14 Ricoh Company, Ltd. Electronic meeting intelligence
CN105426525A (zh) * 2015-12-09 2016-03-23 浪潮通用软件有限公司 一种基于数据存储的异构数据整合方法和装置
US11223623B1 (en) * 2016-06-30 2022-01-11 EMC IP Holding Company LLC Method, apparatus and non-transitory processor-readable storage medium for providing security in a computer network
EP3282412A1 (en) * 2016-08-10 2018-02-14 Ricoh Company, Ltd. Shared terminal and image transmission method
CN106302125B (zh) * 2016-08-19 2019-08-30 上海智臻智能网络科技股份有限公司 一种对请求信息进行响应的方法、装置及系统
US11057288B2 (en) * 2016-09-15 2021-07-06 Sap Se Tracking of document status through multiple computer networks
US11307735B2 (en) 2016-10-11 2022-04-19 Ricoh Company, Ltd. Creating agendas for electronic meetings using artificial intelligence
US10860985B2 (en) 2016-10-11 2020-12-08 Ricoh Company, Ltd. Post-meeting processing using artificial intelligence
US10043031B2 (en) 2016-11-08 2018-08-07 Ebay Inc. Secure management of user addresses in network service
CN106941519A (zh) * 2017-03-03 2017-07-11 上海亿位信息技术有限公司 一种云平台智能控制媒体投放的装置及实现方法
US10733575B2 (en) * 2017-06-06 2020-08-04 Cisco Technology, Inc. Automatic generation of reservations for a meeting-space for disturbing noise creators
US10013864B1 (en) 2017-06-19 2018-07-03 Qualcomm Incorporated Alerts and reminders in a personal area network
CN111566999B (zh) * 2017-08-03 2023-05-30 奥恩全球运营有限公司,新加坡分公司 使用不同消息格式的参与者之间的数据共享
US10841896B2 (en) * 2017-09-08 2020-11-17 International Business Machines Corporation Selectively sending notifications to mobile devices using device filtering process
CN107733884B (zh) * 2017-10-09 2021-06-04 中央电视台 一种工作站、跨平台媒体传输系统和传输方法
US10956875B2 (en) * 2017-10-09 2021-03-23 Ricoh Company, Ltd. Attendance tracking, presentation files, meeting services and agenda extraction for interactive whiteboard appliances
US11030585B2 (en) * 2017-10-09 2021-06-08 Ricoh Company, Ltd. Person detection, person identification and meeting start for interactive whiteboard appliances
US11062271B2 (en) * 2017-10-09 2021-07-13 Ricoh Company, Ltd. Interactive whiteboard appliances with learning capabilities
US10896170B2 (en) * 2017-12-22 2021-01-19 Microsoft Technology Licensing, Llc Automated workflow integration of data from multiple data sources
US11061453B1 (en) * 2018-01-26 2021-07-13 United Services Automobile Association (Usaa) Systems and methods for automatically starting workplace computing devices
SG10201800991VA (en) * 2018-02-05 2019-09-27 Voxp Pte Ltd System, method and device for provision and management of web resource
US10757148B2 (en) 2018-03-02 2020-08-25 Ricoh Company, Ltd. Conducting electronic meetings over computer networks using interactive whiteboard appliances and mobile devices
US11803602B2 (en) 2018-04-11 2023-10-31 Jumptuit, Inc. System and method of AI assisted search based on events and location
CN110505075B (zh) * 2018-05-18 2022-11-25 华为技术有限公司 设备管理方法及相关设备
US10664328B2 (en) 2018-05-22 2020-05-26 International Business Machines Corporation Calendar entry creation by interaction with map application
US10771283B2 (en) * 2018-07-06 2020-09-08 Sap Se Virtual cloud node
CN109542734A (zh) * 2018-12-15 2019-03-29 深圳壹账通智能科技有限公司 事件处理方法、装置、计算机设备及存储介质
US11573993B2 (en) 2019-03-15 2023-02-07 Ricoh Company, Ltd. Generating a meeting review document that includes links to the one or more documents reviewed
US11080466B2 (en) 2019-03-15 2021-08-03 Ricoh Company, Ltd. Updating existing content suggestion to include suggestions from recorded media using artificial intelligence
US11392754B2 (en) 2019-03-15 2022-07-19 Ricoh Company, Ltd. Artificial intelligence assisted review of physical documents
US11270060B2 (en) 2019-03-15 2022-03-08 Ricoh Company, Ltd. Generating suggested document edits from recorded media using artificial intelligence
US11720741B2 (en) 2019-03-15 2023-08-08 Ricoh Company, Ltd. Artificial intelligence assisted review of electronic documents
US11263384B2 (en) 2019-03-15 2022-03-01 Ricoh Company, Ltd. Generating document edit requests for electronic documents managed by a third-party document management service using artificial intelligence
GB2585081A (en) 2019-06-28 2020-12-30 Signagelive Ltd System, apparatus and method for controlling networked devices
CN111045801A (zh) * 2019-11-19 2020-04-21 蓝箭航天空间科技股份有限公司 支持多处理器的统一任务间通信方法及火箭通信方法
KR20210092073A (ko) * 2020-01-15 2021-07-23 해성디에스 주식회사 회로기판의 제조 방법
US10735212B1 (en) * 2020-01-21 2020-08-04 Capital One Services, Llc Computer-implemented systems configured for automated electronic calendar item predictions and methods of use thereof
CN111459260A (zh) * 2020-04-01 2020-07-28 联想(北京)有限公司 控制方法、装置及控制器和存储介质
US11121989B1 (en) * 2020-05-29 2021-09-14 Bank Of America Corporation Centralized repository and communication system for cross-network interactions
CN112291042B (zh) * 2020-10-23 2022-02-08 中国电子科技集团公司第三十研究所 一种基于服务的窄带通信网络数据透明传输方法及其系统
CN115239044A (zh) * 2021-04-23 2022-10-25 中国石油化工股份有限公司 关键安全设施管理方法及系统
US20230244436A1 (en) * 2022-01-28 2023-08-03 Chiun Mai Communication Systems, Inc. Method and system for switching multi-function modes
US20240036834A1 (en) * 2022-08-01 2024-02-01 Bank Of America Corporation Unified Desktop Computing System

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6631247B1 (en) 1999-09-29 2003-10-07 Ricoh Co., Ltd. Method and system for remote diagnostic, control and information collection based on various communication modes for sending messages to a resource manager
JP2892901B2 (ja) * 1992-04-27 1999-05-17 インターナショナル・ビジネス・マシーンズ・コーポレイション プレゼンテーションの獲得、管理およびプレイバック用自動化システム及び方法
US6363434B1 (en) * 1999-03-30 2002-03-26 Sony Corporation Of Japan Method of managing resources within a network of consumer electronic devices
US6636238B1 (en) * 1999-04-20 2003-10-21 International Business Machines Corporation System and method for linking an audio stream with accompanying text material
US6636888B1 (en) 1999-06-15 2003-10-21 Microsoft Corporation Scheduling presentation broadcasts in an integrated network environment
US6480901B1 (en) * 1999-07-09 2002-11-12 Lsi Logic Corporation System for monitoring and managing devices on a network from a management station via a proxy server that provides protocol converter
US7484008B1 (en) 1999-10-06 2009-01-27 Borgia/Cummins, Llc Apparatus for vehicle internetworks
US6553240B1 (en) 1999-12-30 2003-04-22 Nokia Corporation Print option for WAP browsers
US20020032677A1 (en) * 2000-03-01 2002-03-14 Jeff Morgenthaler Methods for creating, editing, and updating searchable graphical database and databases of graphical images and information and displaying graphical images from a searchable graphical database or databases in a sequential or slide show format
US8073565B2 (en) * 2000-06-07 2011-12-06 Apple Inc. System and method for alerting a first mobile data processing system nearby a second mobile data processing system
JP4228261B2 (ja) 2000-08-29 2009-02-25 カシオ計算機株式会社 後位装置、携帯通信端末および情報取得方法
US7231423B1 (en) 2001-05-23 2007-06-12 Jens Horstmann Interactive wireless device communication system for meetings and conferences
US20030103075A1 (en) * 2001-12-03 2003-06-05 Rosselot Robert Charles System and method for control of conference facilities and equipment
JP4088131B2 (ja) * 2002-03-28 2008-05-21 富士通株式会社 同期コンテンツ情報生成プログラム、同期コンテンツ情報生成装置および同期コンテンツ情報生成方法
US20030217186A1 (en) * 2002-05-16 2003-11-20 Bushey Robert D. Apparatus for and method of seamless wireless multimedia download path to peer networked appliances
GB0211644D0 (en) 2002-05-21 2002-07-03 Wesby Philip B System and method for remote asset management
US20050240417A1 (en) * 2002-05-31 2005-10-27 Dave Savage Monitoring usage of electronic equipment
EP1434115A1 (en) 2002-12-23 2004-06-30 Koninklijke KPN N.V. System and method for configuring time dependent devices and services
US7528976B2 (en) * 2003-09-25 2009-05-05 Ricoh Co., Ltd. Stand alone printer with hardware/software interfaces for sharing multimedia processing
US7876714B2 (en) 2004-09-01 2011-01-25 Cisco Technology, Inc. Techniques for managing conference schedules using groups
JP2006309642A (ja) * 2005-05-02 2006-11-09 Kyocera Mita Corp プロトコル変換装置及びプロトコル変換プログラム
US20070268121A1 (en) 2006-05-18 2007-11-22 Daryush Vasefi On-line portal system and method for management of devices and services
US8135342B1 (en) 2006-09-15 2012-03-13 Harold Michael D System, method and apparatus for using a wireless cell phone device to create a desktop computer and media center
US7941133B2 (en) 2007-02-14 2011-05-10 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for schedule management based on locations of wireless devices
US20080303748A1 (en) * 2007-06-06 2008-12-11 Microsoft Corporation Remote viewing and multi-user participation for projections
CA2710037C (en) * 2007-12-20 2016-04-12 Chalk Media Service Corp. A method and system for authoring mobile content in a slideshow or presentation application for direct delivery to a mobile device
CN102084386A (zh) * 2008-03-24 2011-06-01 姜旻秀 利用数字内容关联元信息的关键字广告方法及其关联系统
US8463632B2 (en) 2008-11-12 2013-06-11 Oracle International Corporation Management and automatic invocation of scheduled collaboration events
JP2010116226A (ja) 2008-11-12 2010-05-27 Panasonic Corp 用紙積載トレイの取付構造及びこれを備えた画像形成装置
US8195768B2 (en) * 2008-12-29 2012-06-05 Apple Inc. Remote slide presentation
US8185527B2 (en) 2009-01-05 2012-05-22 International Business Machines Corporation Personal resources organizer with calendar interface and object detection
JP2010176226A (ja) * 2009-01-27 2010-08-12 Kyocera Mita Corp 機器管理システム、プロキシ装置、機器管理方法及び機器管理プログラム
US20120079080A1 (en) * 2009-02-11 2012-03-29 Shervin Pishevar Apparatuses, Methods and Systems For An Interactive Proximity Display Tether With Remote Co-Play
US20100228825A1 (en) 2009-03-06 2010-09-09 Microsoft Corporation Smart meeting room
US8438131B2 (en) * 2009-11-06 2013-05-07 Altus365, Inc. Synchronization of media resources in a media archive
US8356102B2 (en) * 2010-02-10 2013-01-15 Microsoft Corporation Selective connection between corresponding communication components involved in a teleconference
EP2556450A4 (en) * 2010-04-09 2017-06-07 Nokia Technologies Oy Method and apparatus for coordinating media presentation on devices via an information space
US8732753B2 (en) * 2010-06-07 2014-05-20 Guest Tek Interactive Entertainment Ltd. Method of operating one or more controllable devices in dependence upon commands received from a plurality of mobile devices and system controller thereof
JP2012029164A (ja) * 2010-07-26 2012-02-09 Konica Minolta Business Technologies Inc 携帯端末及び装置管理方法
US9294723B2 (en) * 2011-04-29 2016-03-22 Creston Electronics, Inc. Meeting management system including automated equipment setup
US8856355B2 (en) * 2011-05-09 2014-10-07 Samsung Electronics Co., Ltd. Systems and methods for facilitating communication between mobile devices and display devices
US9317571B2 (en) * 2011-08-26 2016-04-19 Google Inc. Third party content provider integrations
TWI484804B (zh) 2011-11-09 2015-05-11 Quanta Comp Inc 網路系統之資料管理方法及其相關系統
US9043856B2 (en) * 2012-06-07 2015-05-26 Verizon Patent And Licensing Inc. Remote control of program receiving devices

Also Published As

Publication number Publication date
EP2860944A2 (en) 2015-04-15
US9444774B2 (en) 2016-09-13
EP2860945A3 (en) 2015-05-20
EP2860944B1 (en) 2018-08-29
EP2860945B1 (en) 2018-03-07
EP2739012A1 (en) 2014-06-04
JP2014106979A (ja) 2014-06-09
US20140149592A1 (en) 2014-05-29
US9954802B2 (en) 2018-04-24
EP2860944A3 (en) 2015-06-17
US20150149478A1 (en) 2015-05-28
US20150172237A1 (en) 2015-06-18
US20140149771A1 (en) 2014-05-29
US9363214B2 (en) 2016-06-07
EP2739012B1 (en) 2017-09-20
US10348661B2 (en) 2019-07-09
EP2860945A2 (en) 2015-04-15

Similar Documents

Publication Publication Date Title
JP6291811B2 (ja) 統一通信サービスのためのネットワーク機器アーキテクチャ
EP2739000A2 (en) Unified application programming interface for communicating with devices and their clouds
US9858271B2 (en) System and method for translating content between devices
US10360645B2 (en) Integrating an application into operating system components of a mobile computing platform
US11563629B2 (en) Systems and methods for managed services provisioning using service-specific provisioning data instances
US20140149554A1 (en) Unified Server for Managing a Heterogeneous Mix of Devices
US9881011B2 (en) System and method for generating user profiles for human resources
EP3223217A1 (en) Accessing and configuring meeting attributes
US20190303880A1 (en) Communication system, communication method, and information processing apparatus
JP5343471B2 (ja) 支援システム、支援サーバ、支援方法、プログラムおよび記録媒体
US20200160243A1 (en) Resource reservation system, information display method, server system, and information processing terminal
US11757949B2 (en) Event registration system, user terminal, and storage medium
US9076117B2 (en) Proactive maintenance of devices based on usage data
US20150026218A1 (en) System and Method for Automated Document Linking
JP2020087424A (ja) リソース予約システム、情報表示方法、サーバシステム、情報処理端末
JP7020314B2 (ja) 通信システム、通信方法、情報処理装置、プログラム
US20220327165A1 (en) Information processing system, data management apparatus, and data management method
US20220385704A1 (en) Instant conferencing system
JP2016170550A (ja) 画像公開システム及び方法、サーバ並びにクライアント

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171212

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180116

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180129

R151 Written notification of patent or utility model registration

Ref document number: 6291811

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees