JP2006039750A - Method, system, and program for managing device - Google Patents
Method, system, and program for managing device Download PDFInfo
- Publication number
- JP2006039750A JP2006039750A JP2004216023A JP2004216023A JP2006039750A JP 2006039750 A JP2006039750 A JP 2006039750A JP 2004216023 A JP2004216023 A JP 2004216023A JP 2004216023 A JP2004216023 A JP 2004216023A JP 2006039750 A JP2006039750 A JP 2006039750A
- Authority
- JP
- Japan
- Prior art keywords
- metric
- user
- action
- metrics
- class
- 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.)
- Pending
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
Description
本発明の範囲は、データ処理であり、更に具体的には、デバイスを管理するための方法、システム、およびプログラムである。 The scope of the present invention is data processing, and more specifically, methods, systems, and programs for managing devices.
従来のネットワークは、様々なデバイスを含む。ユーザは、多くの場合、様々なデバイスを用いたり、またはユーザの現在の状況に応じてデバイスの具体的な設定を調整したりする。すなわち、多くの場合、ユーザの現在の状況が動機となって、ユーザは、現在の状況にもっと積極的に役立つ方法でデバイスが動作するようにデバイスの設定を変更する。例えば、頭痛のするユーザは、強い光によって不快感を覚えることがある。ユーザは、光を弱めるか、または消灯して、光によって悩まされないようにすることができる。しかしながら、従来のネットワーク接続デバイスでは、ユーザの状況に応答して特定のデバイスを個別に管理するために、ユーザが介入する必要がある。 Conventional networks include various devices. The user often uses various devices or adjusts specific settings of the device according to the user's current situation. That is, in many cases, the user's current situation is motivated, and the user changes the settings of the device so that the device operates in a way that is more positively useful for the current situation. For example, a user with a headache may feel discomfort due to strong light. The user can weaken or turn off the light so that it is not bothered by the light. However, in a conventional network connection device, a user needs to intervene in order to manage a specific device individually in response to the user's situation.
ユーザの介入を必要とせずにユーザの状況に応じてデバイスを管理する方法があれば、好都合であろう。 It would be advantageous if there was a way to manage the device according to the user's situation without requiring user intervention.
本発明の例示的な実施形態は、デバイスの管理方法を含む。かかる例示的な方法は、複数のユーザ計量(metrics)を受信するステップと、複数のユーザ計量を基に関連計量(a relational metric)を生成するステップと、少なくとも1つのユーザ計量および少なくとも1つの関連計量を有するユーザ計量ベクトルを生成するステップと、複数の計量範囲を有するユーザ計量空間を生成するステップと、ユーザ計量ベクトルがユーザ計量空間の外にあるか否かを判定するステップと、を含む。ユーザ計量ベクトルがユーザ計量空間の外にある場合、例示的な実施形態は、アクションを識別するステップと、アクションを実行するステップと、を含む。 An exemplary embodiment of the present invention includes a device management method. Such an exemplary method includes receiving a plurality of user metrics, generating a relational metric based on the plurality of user metrics, at least one user metric and at least one association. Generating a user metric vector having a metric; generating a user metric space having a plurality of metric ranges; and determining whether the user metric vector is outside the user metric space. If the user metric vector is outside the user metric space, an exemplary embodiment includes identifying an action and performing the action.
多くの例示的な実施形態では、複数のユーザ計量を基に関連計量を生成するステップは、ユーザ計量をフィルタリングするステップを含む。いくつかの例示的な実施形態では、複数のユーザ計量を基に関連計量を生成するステップは、第1のフィルタリングしたユーザ計量と第2のフィルタリングしたユーザ計量との間の関係を判定するステップを含む。いくつかの実施形態では、第1のフィルタリングしたユーザ計量と第2のフィルタリングしたユーザ計量との間の関係を判定するステップは、第1のフィルタリングしたユーザ計量を第2のフィルタリングしたユーザ計量と比較するステップを含む。多くの例示的な実施形態では、複数のユーザ計量に応じて関連計量を生成するステップは、第1のフィルタリングしたユーザ計量と第2のフィルタリングしたユーザ計量との間の関係の大きさを判定するステップを含む。 In many exemplary embodiments, generating an associated metric based on a plurality of user metrics includes filtering user metrics. In some exemplary embodiments, generating an associated metric based on a plurality of user metrics includes determining a relationship between a first filtered user metric and a second filtered user metric. Including. In some embodiments, the step of determining a relationship between the first filtered user metric and the second filtered user metric compares the first filtered user metric with the second filtered user metric. Including the steps of: In many exemplary embodiments, generating an associated metric in response to a plurality of user metrics determines the magnitude of the relationship between the first filtered user metric and the second filtered user metric. Includes steps.
いくつかの例示的な実施形態では、複数のユーザ計量を基に関連計量を生成するステップは、複数のユーザ計量が既定の計量パターンに一致するか否かを判定するステップを含む。かかる実施形態の多くは、複数のユーザ計量が既定の計量パターンに一致する場合、関連計量を検索するステップを含む。いくつかの例示的な実施形態では、少なくとも1つのユーザ計量および少なくとも1つの関連計量を含むユーザ計量ベクトルを生成するステップは、少なくとも1つのユーザ計量をユーザ計量ベクトルに関連付けるステップ、および、少なくとも1つの関連計量をユーザ計量ベクトルに関連付けるステップを含む。 In some exemplary embodiments, generating an associated metric based on a plurality of user metrics includes determining whether the plurality of user metrics match a predetermined metric pattern. Many such embodiments include searching for a related metric if multiple user metrics match a predefined metric pattern. In some exemplary embodiments, generating a user metric vector including at least one user metric and at least one related metric includes associating at least one user metric with the user metric vector, and at least one Associating an associated metric with a user metric vector.
いくつかの例示的な実施形態では、アクションを識別するステップは、ユーザの位置を判定するステップと、ユーザの位置を基にアクションIDを選択するステップと、
を含む。多くのかかる実施形態では、アクションを識別するステップは、ユーザの移動を判定するステップと、ユーザの移動を基にアクションIDを選択するステップと、を含む。
In some exemplary embodiments, identifying actions includes determining a user's location, selecting an action ID based on the user's location,
including. In many such embodiments, identifying an action includes determining a user movement and selecting an action ID based on the user movement.
本発明の前述および他の目的、特徴、および利点は、添付図面に例示するような本発明の例示的な実施形態の以下の具体的な説明から明らかであろう。図面において、同様の参照番号は、概ね、本発明の例示的な実施形態の同様の部分を表す。 The foregoing and other objects, features and advantages of the present invention will be apparent from the following specific description of exemplary embodiments of the invention as illustrated in the accompanying drawings. In the drawings, like reference numbers generally refer to like parts of exemplary embodiments of the invention.
序論
本発明について、デバイスの管理方法の点から、本明細書において詳細に述べる。しかしながら、開示する方法に従って動作する適切なプログラミング手段を含むいかなるコンピュータシステムも、本発明の範囲内に該当することは、当業者には認められよう。
Introduction The present invention is described in detail herein in terms of device management methods. However, those skilled in the art will recognize that any computer system that includes suitable programming means that operates in accordance with the disclosed methods falls within the scope of the present invention.
適切なプログラム手段は、コンピュータシステムに本発明の方法のステップの実行を指示するためのいずれかの手段を含む。これは、例えば、コンピュータメモリに結合された処理ユニットおよび演算論理回路から成るシステムであって、コンピュータメモリに格納する機能を有するものであり、このコンピュータメモリは、データおよびプログラム命令、処理ユニットによって実行される本発明の方法のプログラムステップを格納するように構成された電子回路を含む。また、本発明は、いずれかの適切なデータ処理システムと共に用いるため、ディスケットまたは他の記録媒体等のコンピュータプログラムプロダクトにおいて具現化することができる。 Suitable program means include any means for instructing the computer system to perform the steps of the method of the invention. This is, for example, a system comprising a processing unit and an arithmetic logic circuit coupled to a computer memory and having a function of storing in the computer memory. This computer memory is executed by data and program instructions, the processing unit. Including an electronic circuit configured to store program steps of the method of the present invention. The invention can also be embodied in computer program products such as diskettes or other recording media for use with any suitable data processing system.
コンピュータプログラムプロダクトの実施形態は、磁気媒体、光媒体、または他の適切な媒体を含む、機械読み取り可能情報のためのいずれかの記録媒体を用いることによって実施することができる。適切なプログラミング手段を有するあらゆるコンピュータシステムが、プログラムプロダクトに具現化される本発明の方法のステップを実行可能であることは、当業者にはすぐに認められよう。本明細書において記載する例示的な実施形態のほとんどは、コンピュータハードウエアにインストールされて実行されるソフトウエアを指向するが、ファームウエアまたはハードウエアとして実施される代替的な実施形態が本発明の範囲内であることは、当業者にはすぐに認められよう。 Embodiments of a computer program product can be implemented by using any recording medium for machine readable information, including magnetic media, optical media, or other suitable media. Those skilled in the art will readily recognize that any computer system having suitable programming means can perform the steps of the method of the invention embodied in a program product. Although most of the exemplary embodiments described herein are directed to software that is installed and executed on computer hardware, alternative embodiments implemented as firmware or hardware are contemplated by the present invention. It will be readily appreciated by those skilled in the art that it is within range.
定義
「802.11」は、ワイヤレスLAN技術のための、IEEEが開発した仕様ファミリを指す。802.11は、ワイヤレスクライアントと基地局との間、または2つのワイヤレスクライアント間の、無線インタフェースを規定する。
Definitions “802.11” refers to a specification family developed by IEEE for wireless LAN technology. 802.11 defines a radio interface between a wireless client and a base station or between two wireless clients.
「API」は、「アプリケーションプログラミングインタフェース」の略語である。APIは、ソフトウエアアプリケーションを構築するための、ルーチン、プロトコル、およびツールの集合である。 “API” is an abbreviation for “application programming interface”. An API is a collection of routines, protocols, and tools for building software applications.
「Bluetooth」は、LANまたは他のネットワーク上での、クライアントデバイス間、またはクライアントデバイスとリソースとの間のRF結合のための短距離無線技術の業界仕様を指す。Bluetooth Special Interest Groupと呼ばれる運営団体が、Bluetoothに準拠するデバイスを試験し認定する。Bluetooth仕様は、設計仕様を提供する「FoundationCore」、および、相互運用性のガイドラインを提供する「FoundationProfile」から成る。 “Bluetooth” refers to the industry specification of short-range wireless technology for RF coupling between client devices or between client devices and resources over a LAN or other network. A management organization called the Bluetooth Special Interest Group tests and certifies Bluetooth-compliant devices. The Bluetooth specification consists of “FoundationCore” that provides design specifications and “FoundationProfile” that provides guidelines for interoperability.
「データ通信のための結合」は、ワイヤレス、802.11b、Bluetooth、赤外線、無線、インターネットプロトコル、HTTPプロトコル、eメールプロトコル、ネットワーク接続、直接接続、専用電話線、ダイヤルアップ、RS−232(EIA232)またはユニバーサルシリアルバスによるシリアル接続、配線によるパラレルポート接続、電力線プロトコルに従ったネットワーク接続、および、当業者に想起されるデータ通信のための他の形態の接続等、いずれかの形態のデータ接続を意味する。データ通信のための結合は、データ通信のためのネットワーク接続による結合を含む。本発明の様々な実施形態において有用なネットワークの例は、ケーブルネットワーク、イントラネット、エクストラネット、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、および、当業者に想起される他のネットワーク構成を含む。テレビチャネル、ケーブルチャネル、ビデオ提供業者、電気通信ソース等の間のあらゆるネットワーク接続による結合の使用は、本発明の範囲内である。 “Coupling for data communication” includes wireless, 802.11b, Bluetooth, infrared, wireless, Internet protocol, HTTP protocol, email protocol, network connection, direct connection, dedicated telephone line, dial-up, RS-232 (EIA232 Or any other form of data connection, such as a serial connection via a universal serial bus, a parallel port connection via wiring, a network connection according to the power line protocol, and other forms of connection for data communication as will occur to those skilled in the art Means. Coupling for data communication includes coupling through a network connection for data communication. Examples of networks useful in various embodiments of the present invention include cable networks, intranets, extranets, the Internet, local area networks, wide area networks, and other network configurations as will occur to those skilled in the art. The use of coupling by any network connection between television channels, cable channels, video providers, telecommunications sources, etc. is within the scope of the present invention.
「ドライバ」は、デバイスを制御するプログラムを意味する。デバイス(プリンタ、ディスクドライブ、キーボード)は、通常ドライバを有する。ドライバは、デバイスと、このデバイスを用いるソフトウエアプログラムとの間の翻訳機として機能する。各デバイスは、そのドライバが知っている専用のコマンド集合を有する。ソフトウエアプログラムは、一般に、汎用コマンドを用いることによってデバイスにアクセスする。従って、ドライバは、プログラムから汎用コマンドを受け、次いで、それらをデバイスのための専用コマンドに翻訳する。 “Driver” means a program for controlling a device. Devices (printers, disk drives, keyboards) usually have drivers. The driver functions as a translator between the device and a software program that uses the device. Each device has a dedicated set of commands that its driver knows. Software programs typically access devices by using general commands. Thus, the driver receives generic commands from the program and then translates them into dedicated commands for the device.
「ESN」は、「エレクトロニックシリアルナンバー」の略語である。ESNは、例えばコーヒーポット等のデバイス内にプログラムされて、そのデバイスを一意に識別する通し番号である。 “ESN” is an abbreviation for “electronic serial number”. The ESN is a serial number that is programmed in a device such as a coffee pot and uniquely identifies the device.
「フィールド」。本明細書において、「フィールド」および「データ要素」という語は、文脈によって他の意味を示さない限り、一般に同意語として用いられ、デジタルデータの個々の要素を指す。データ要素の集合を、「レコード」または「データ構造」と称する。レコードの集合を、「テーブル」または「ファイル」と称する。ファイルまたはテーブルの集合を、「データベース」と称する。データ要素に加えて、メンバメソッド(member method)、関数、またはソフトウエアルーチンを含む複合データ構造は、「クラス」と称する。クラスのインスタンスを、「オブジェクト」または「クラスオブジェクト」と称する。 "field". In this specification, the terms “field” and “data element” are generally used synonymously and refer to individual elements of digital data unless the context indicates otherwise. A set of data elements is referred to as a “record” or “data structure”. A set of records is referred to as a “table” or “file”. A collection of files or tables is referred to as a “database”. In addition to data elements, complex data structures that contain member methods, functions, or software routines are referred to as “classes”. An instance of a class is referred to as an “object” or “class object”.
「HAVi」は、「Home AudioVideo Interoperability」を表し、特に家庭用娯楽環境のためのベンダー中立のオーディオ−ビデオ規格の名前である。HAViによって、異なる家庭用娯楽および通信デバイス(VCR、テレビ、ステレオ、セキュリティシステム、ビデオモニタ等)を、ネットワーク接続し、サービスゲートウエイ、PC、テレビ等の1つの主デバイスから制御することができる。IEEE1394すなわち「Firewire」仕様を相互接続媒体として用いて、HAViにより、異なるベンダーからの製品が、規定された接続および通信プロトコルならびにAPIに基づいて、互いに適合することができる。HAViの分散アプリケーションシステムが提供するサービスには、アドレシング方式およびメッセージ転送、リソース発見のためのルックアップ、ローカルまたは遠隔イベントの通知および受信、ならびに等時性データストリームのストリーミングおよび制御が含まれる。 “HAVi” stands for “Home AudioVideo Interoperability” and is the name of a vendor-neutral audio-video standard, particularly for home entertainment environments. With HAVi, different home entertainment and communication devices (VCRs, televisions, stereos, security systems, video monitors, etc.) can be networked and controlled from one main device such as a service gateway, PC, television, etc. Using the IEEE 1394 or “Firewire” specification as an interconnection medium, HAVi allows products from different vendors to adapt to each other based on defined connection and communication protocols and APIs. Services provided by HAVi's distributed application system include addressing scheme and message transfer, lookup for resource discovery, notification and reception of local or remote events, and streaming and control of isochronous data streams.
「HomePlug」は、HomePlug Powerline Allianceを表す。HomePlugは、高速家庭用電力線ネットワーク接続製品およびサービスのオープン仕様作成のためのフォーラムを提供するために形成された非営利目的の団体である。HomePlug仕様は、電力線ネットワーク接続規格を用いて、家庭用電力口を介して家庭にインターネット通信およびマルチメディアを配信するために設計されている。 “HomePlug” represents the HomePlug Powerline Alliance. HomePlug is a non-profit organization formed to provide a forum for the creation of open specifications for high-speed home power line networking products and services. The HomePlug specification is designed to deliver Internet communications and multimedia to homes via a household power outlet using the power line network connection standard.
HomePlugプロトコルによって、HomePlug対応デバイスは、無線周波数信号(RF)を用いて電力線を介して通信を行うことができる。HomePlugプロトコルは、直交周波数分割多重(OFDM:Orthogonal FrequencyDivision Multiplexing)を用いて、RF信号を多数のもっと小さいサブ信号に分割し、これらを、電力線を介して異なる周波数で、1つのHomePlug対応デバイスから他のHomePlug対応デバイスに送信する。 The HomePlug protocol allows HomePlug compatible devices to communicate over power lines using radio frequency signals (RF). The HomePlug protocol uses Orthogonal Frequency Division Multiplexing (OFDM) to divide the RF signal into a number of smaller sub-signals that are separated from one HomePlug-enabled device at different frequencies over the power line. Send to a HomePlug compatible device.
「HTTP」は、「Hyper TextTransport Protocol」を表し、ワールドワイドウエブのための標準的なデータ通信プロトコルである。 “HTTP” stands for “Hyper Text Transport Protocol” and is a standard data communication protocol for the World Wide Web.
「ID」は、「アイデンティフィケーション(識別子)」の略語であり、本明細書中では、慣例的にデータ要素中に表される名詞と共に用いられる。このため、「user ID」はユーザの識別子を指し、「userID」は、ユーザ識別子が格納されているデータ要素の名前である。「ID」の使用の更に別の例では、「metric ID」は計量の識別子であり、「metricID」は、計量の識別子が格納されているデータ要素の名前である。 “ID” is an abbreviation for “identification” and is used herein with nouns that are customarily represented in data elements. Therefore, “user ID” indicates the identifier of the user, and “userID” is the name of the data element in which the user identifier is stored. In yet another example of the use of “ID”, “metric ID” is a metric identifier and “metricID” is the name of the data element in which the metric identifier is stored.
「IEEE1394」は、400Mbps(毎秒4億ビット)までのデータ転送レートをサポートする外部バス規格である。最初にIEEE1394を開発したApple社は、商標名「FireWire」を用いる。他の会社は、i. linkおよびLynx等の他の名前を用いて自社の1394製品を表す。 “IEEE1394” is an external bus standard that supports data transfer rates up to 400 Mbps (400 million bits per second). Apple, which first developed IEEE 1394, uses the trade name “FireWire”. Other companies use other names such as i.link and Lynx to represent their 1394 products.
単一の1394ポートを用いて、63までの外部デバイスを接続することができる。高速であることに加えて、1394は、等時性データ転送をサポートする。つまり、保証された速度でデータを送信する。これは、ビデオ等、リアルタイムで高レベルのデータを転送する必要のあるデバイスにとって理想的である。 A single 1394 port can be used to connect up to 63 external devices. In addition to being fast, 1394 supports isochronous data transfer. That is, data is transmitted at a guaranteed speed. This is ideal for devices that need to transfer high levels of data in real time, such as video.
「Internet(インターネット)」は、多数のコンピュータを接続するグローバルネットワークであり、ネットワーク接続プロトコルスタックのネットワーク層として、「インターネットプロトコル」すなわち「IP」を用いる。インターネットは、設計上、分散型である。インターネット上の各コンピュータは独立している。インターネット上の各コンピュータのオペレータは、どのインターネットサービスを用いるか、どのローカルサービスをグローバルインターネットコミュニティに利用可能とするかを選択することができる。インターネットにアクセスするためには、様々な方法がある。America Online等の多くのオンラインサービスが、いくつかのインターネットサービスに対するアクセスを提供する。また、商用インターネットサービスプロバイダ(ISP)によってもアクセスすることができる。「internet(インターネット)」(大文字で始まらない)は、ネットワークプロトコルスタックのネットワーク層としてIPを用いるいずれかのネットワークである。 “Internet” is a global network for connecting a large number of computers, and “Internet protocol”, that is, “IP” is used as a network layer of a network connection protocol stack. The Internet is decentralized by design. Each computer on the Internet is independent. The operator of each computer on the Internet can select which Internet service to use and which local service is available to the global Internet community. There are various ways to access the Internet. Many online services, such as America Online, provide access to several Internet services. It can also be accessed by a commercial internet service provider (ISP). An “internet” (not starting with a capital letter) is any network that uses IP as the network layer of the network protocol stack.
「JAR」は、「Java(登録商標)アーカイブ」の略語である。JARは、Javaアプリケーションが用いるコンポーネントをバンドルするために用いられるファイルフォーマットである。JARファイルは、アプレットのダウンロードを簡略化する。なぜなら、多くのコンポーネント(.classファイル、画像、サウンド等)は、単一のファイルにパッケージ化することができるからである。また、JARはデータ圧縮をサポートし、これによって更にダウンロード時間が短縮する。慣例的に、JARファイルは、「.jar」拡張子で終了する。 “JAR” is an abbreviation for “Java (registered trademark) archive”. JAR is a file format used for bundling components used by Java applications. The JAR file simplifies applet download. This is because many components (.class files, images, sounds, etc.) can be packaged into a single file. JAR also supports data compression, which further reduces download time. Conventionally, JAR files end with a “.jar” extension.
「JES」は、Java EmbeddedServer(Java埋め込みサーバ)の略語である。JESは、OSGiを商用に実施したものであり、埋め込みデバイスに対するアプリケーションおよびサービスの開発、展開、およびインストールのためのフレームワークを提供する。 “JES” is an abbreviation for Java Embedded Server. JES is a commercial implementation of OSGi and provides a framework for the development, deployment, and installation of applications and services for embedded devices.
「LAN」は、「ローカルエリアネットワーク」の略語である。LANは、比較的小さい領域に及ぶコンピュータネットワークである。多くのLANは、単一の建物または建物群に限定されている。しかしながら、1つのLANは、電話線または無線電波によって、いかなる距離を介しても、他のLANに接続することができる。このように接続されたLANのシステムは、ワイドエリアネットワーク(WAN)と呼ばれる。インターネットは、WANの1例である。 “LAN” is an abbreviation for “local area network”. A LAN is a computer network that spans a relatively small area. Many LANs are limited to a single building or group of buildings. However, one LAN can be connected to another LAN through any distance by telephone line or radio wave. The LAN system connected in this way is called a wide area network (WAN). The Internet is an example of a WAN.
「Lon Works」は、Echelon(登録商標)から入手可能なネットワーク接続プラットフォームである。Lon Worksは、現在、家電制御および照明制御等の様々なネットワークアプリケーションで用いられている。Lon Worksネットワーク接続プラットフォームは、「LonTalk」と呼ばれるプロトコルを用い、これは、Lon Works対応デバイス内にインストールされた「ニューロンチップ(Neuron Chip)」内に埋め込まれている。 “Lon Works” is a network connection platform available from Echelon (registered trademark). Lon Works is currently used in various network applications such as home appliance control and lighting control. The Lon Works network connection platform uses a protocol called "LonTalk", which is embedded in a "Neuron Chip" installed in a Lon Works compatible device.
ニューロンチップは、多数のプロセッサ、読み取り−書き込みおよび読み取り専用メモリ(RAMおよびROM)、ならびに通信およびI/Oサブシステムを有するチップ上システムである。読み取り専用メモリは、オペレーティングシステム、LonTalkプロトコル、およびI/O機能ライブラリを含む。チップは、構成データおよびアプリケーションプログラムのための不揮発性メモリを有し、これは、Lon Worksネットワークを介してデバイスにダウンロードすることができる。ニューロンチップは、標準的なOSIネットワークモデルの最初の6層を提供する。すなわち、ニューロンチップは、物理層、データリンク層、ネットワーク層、トランスポート層、セッション層、およびプレゼンテーション層を提供する。 A neuron chip is an on-chip system with multiple processors, read-write and read-only memory (RAM and ROM), and communication and I / O subsystems. The read only memory includes an operating system, a LonTalk protocol, and an I / O function library. The chip has non-volatile memory for configuration data and application programs, which can be downloaded to the device via the Lon Works network. The neuron chip provides the first six layers of the standard OSI network model. That is, the neuron chip provides a physical layer, a data link layer, a network layer, a transport layer, a session layer, and a presentation layer.
ニューロンチップは、アプリケーション層のプログラミングを提供しない。Lon Worksネットワークのためのアプリケーションは、「Neuron C」と呼ばれるプログラミング言語で書かれる。Neuron Cで書かれたアプリケーションは、通常、イベント駆動であり、従ってネットワーク上のトラヒックが減少することになる。 Neuron chips do not provide application layer programming. Applications for the Lon Works network are written in a programming language called "Neuron C". Applications written in Neuron C are usually event driven, thus reducing network traffic.
「OSGI」は、Open ServicesGateway Initiativeを示し、これはサービスゲートウエイのための仕様を開発する業界団体であり、サービスバンドルの送出、コンプライアントなデータ通信を提供するソフトウエアミドルウエア、およびサービスゲートウエイを介したサービスのための仕様に携わる。Open Services Gateway仕様は、Javaベースのアプリケーション層フレームワークであり、サービスプロバイダ、ネットワークオペレータ、デバイス製造業者、および家電製造業者に、ベンダー中立のアプリケーションおよびデバイス層のAPIおよび機能を与える。 “OSGI” refers to the Open Services Gateway Initiative, which is an industry organization that develops specifications for service gateways. It sends out service bundles, software middleware that provides compliant data communication, and service gateways. Engaged in the specifications for the service. The Open Services Gateway specification is a Java-based application layer framework that provides service-neutral, network operators, device manufacturers, and consumer electronics manufacturers with vendor-neutral application and device layer APIs and functionality.
「OSI Model」すなわちOpenSystem Interconnectionモデルは、7層のプロトコルを実施するためのネットワーク接続フレームワークを規定する。制御は、1つの層から次の層に渡される。1つのネットワーク局においてアプリケーション層から開始し、最下層まで進み、チャネルを介して次のネットワーク局に進み、階層を逆行する。 The “OSI Model” or OpenSystem Interconnection model defines a network connection framework for implementing a seven layer protocol. Control is passed from one layer to the next. Start from the application layer in one network station, go to the lowest layer, go to the next network station through the channel, and go back up the hierarchy.
OSIモデルの第7の層は、アプリケーション層である。アプリケーション層は、アプリケーションおよびエンドユーザプロセスをサポートする。アプリケーション層は、ファイル転送、eメール、および他のネットワークソフトウエアサービスのためのアプリケーションサービスを提供する。 The seventh layer of the OSI model is the application layer. The application layer supports applications and end user processes. The application layer provides application services for file transfer, email, and other network software services.
OSIモデルの第6の層は、プレゼンテーション層である。プレゼンテーション層は、データ提示における相違からの独立を提供する。プレゼンテーション層は、アプリケーションデータフォーマットからネットワークデータフォーマットに、およびその逆への変換を行う。プレゼンテーション層は、時に、「シンタクス層」と呼ばれる。 The sixth layer of the OSI model is the presentation layer. The presentation layer provides independence from differences in data presentation. The presentation layer performs the conversion from the application data format to the network data format and vice versa. The presentation layer is sometimes referred to as the “syntax layer”.
OSIモデルの第5の層は、セッション層である。セッション層は、ネットワーク接続アプリケーション間の接続を確立し、管理し、終了させる。セッション層は、ネットワーク接続アプリケーション間の会話、交換、および対話をセットアップし、調整し、終了させる。 The fifth layer of the OSI model is the session layer. The session layer establishes, manages and terminates connections between network connection applications. The session layer sets up, coordinates and terminates conversations, exchanges and interactions between networked applications.
OSIモデルの第4の層は、トランスポート層である。トランスポート層は、ネットワーク接続システムまたはホスト間のトランスペアレントな転送を提供する。また、トランスポート層は、フロー制御を担い、完全なデータ転送を保証する。 The fourth layer of the OSI model is the transport layer. The transport layer provides transparent transfer between network connection systems or hosts. The transport layer is also responsible for flow control and guarantees complete data transfer.
OSIモデルの第3の層は、ネットワーク層である。ネットワーク層は、1つのネットワークノードから別のネットワークノードにデータを送信するため、仮想回路として知られる論理経路を生成する。ルーティング、転送、アドレッシング、およびパケット順序付けが、ネットワーク層の機能である。 The third layer of the OSI model is the network layer. The network layer creates a logical path known as a virtual circuit to transmit data from one network node to another. Routing, forwarding, addressing, and packet ordering are network layer functions.
OSIモデルの第2の層は、データリンク層である。データリンク層は、データパケットをビットに復号し、ビットをデータパケットに符号化する。データリンク層は、送信プロトコルを提供し、物理層におけるデータフロー送信を管理する。 The second layer of the OSI model is the data link layer. The data link layer decodes the data packet into bits and encodes the bits into data packets. The data link layer provides a transmission protocol and manages data flow transmission in the physical layer.
データリンク層は、2つのサブ層に分けられる。データリンク層の第1のサブ層は、メディアアクセス制御(MAC:Media Access Control)層である。MACサブ層は、ネットワーク上のコンピュータがデータを送信するためのアクセスおよび許可を制御する。データリンク層の第2のサブ層は、論理リンク制御(LLC:Logical Link Control)層である。LLC層は、物理層におけるデータフロー送信を制御する。 The data link layer is divided into two sublayers. The first sub-layer of the data link layer is a media access control (MAC) layer. The MAC sublayer controls access and authorization for computers on the network to transmit data. The second sub-layer of the data link layer is a logical link control (LLC) layer. The LLC layer controls data flow transmission in the physical layer.
OSIモデルの第1の層は、物理層である。物理層は、電気および機械レベルで物理ネットワークを介したビットストリームを送信する(電気インパルス、光または無線信号)。物理層は、データを送受信するためのハードウエアを提供する。 The first layer of the OSI model is the physical layer. The physical layer transmits bitstreams over the physical network at the electrical and mechanical level (electrical impulses, optical or radio signals). The physical layer provides hardware for sending and receiving data.
「SMF」は、IBM(登録商標)社から入手可能な「Service Management FrameworkTM」を表す。SMFは、サービスゲートウエイ上でネットワーク送信されたアプリケーションを管理するため、OSGiを商用に実施したものである。 “SMF” represents “Service Management Framework ™ ” available from IBM (registered trademark). SMF is a commercial implementation of OSGi to manage applications transmitted over the network on the service gateway.
「USB」は、「ユニバーサルシリアルバス」の略語である。USBは、12Mbpsのデータ転送レートをサポートする外部バス規格である。単一のUSBポートを用いて、マウス、モデム、およびキーボード等の127までの周辺デバイスを接続することができる。また、USBは、プラグアンドプレイのインストールおよびホットプラギング(hot plugging)もサポートする。 “USB” is an abbreviation for “Universal Serial Bus”. USB is an external bus standard that supports a data transfer rate of 12 Mbps. A single USB port can be used to connect up to 127 peripheral devices such as a mouse, modem, and keyboard. USB also supports plug and play installation and hot plugging.
「WAP」は、ワイヤレスアプリケーションプロトコルを示し、ハンドヘルドワイヤレスデバイスと共に用いるためのプロトコルである。WAPと共に役立つワイヤレスデバイスの例には、携帯電話、ポケットベル、2方向ラジオ、およびハンドヘルドコンピュータが含まれる。WAPは多くのワイヤレスネットワークをサポートし、WAPは多くのオペレーティングシステムによってサポートされる。ハンドヘルドデバイスのために特に設計されたオペレーティングシステムには、PalmOS、EPOC、Windows(登録商標)CE、FLEXOS、OS/9、およびJavaOSが含まれる。ディスプレイを用い、インターネットにアクセスするWAPデバイスは、「マイクロブラウザ(microbrowser)」を実行する。マイクロブラウザは、小さいファイルサイズを用い、これによって、ハンドヘルドデバイスの小さいメモリという制約およびワイヤレスネットワークの低帯域幅という制約に対応することができる。 “WAP” refers to a wireless application protocol and is a protocol for use with a handheld wireless device. Examples of wireless devices useful with WAP include cell phones, pagers, two-way radios, and handheld computers. WAP supports many wireless networks and WAP is supported by many operating systems. Operating systems specifically designed for handheld devices include PalmOS, EPOC, Windows® CE, FLEXOS, OS / 9, and JavaOS. A WAP device that uses the display and accesses the Internet executes a “microbrowser”. Microbrowser uses a small file size, which can accommodate the small memory limitations of handheld devices and the low bandwidth of wireless networks.
「X−10」は、X−10プロトコルを意味する。典型的なX−10対応デバイスは、X−10送信器およびX−10受信器を用いて、家庭における既存のAC配線等のAC電力配線を介して通信を行う。X−10送信器およびX−10受信器は、無線周波数(RF)信号を用いてデジタル情報を交換する。X−10送信器およびX−10受信器は、デジタル情報を表す短いRFバーストによって通信する。2進数の1は、1ミリ秒の120KHzのバーストによって表され、2進数の0は、120KHzバーストの不在の後にバーストが現れることによって表される。 “X-10” means the X-10 protocol. A typical X-10 enabled device uses an X-10 transmitter and an X-10 receiver to communicate over AC power wiring, such as existing AC wiring at home. X-10 transmitters and X-10 receivers exchange digital information using radio frequency (RF) signals. X-10 transmitters and X-10 receivers communicate by short RF bursts that represent digital information. A binary 1 is represented by a 1 millisecond 120 KHz burst, and a binary 0 is represented by the appearance of a burst after the absence of a 120 KHz burst.
X−10プロトコルでは、データは、フレームと呼ばれるデータストリングの単位で送信される。フレームは、「1110」と指定される4ビットの開始コードで始まる。開始コードの後、フレームは、4ビットの「家コード」によって家等の特定のドメインを識別し、4ビットの「デバイスコード」によってそのドメイン内のデバイスを識別する。また、フレームは、「オン」、「オフ」、「暗い」、「明るい」、「ステータスオン」、「ステータスオフ」、および「ステータス要求」等、特定の予め設定されたコマンドを識別する8ビットのコマンドストリングを含む。 In the X-10 protocol, data is transmitted in units of data strings called frames. The frame begins with a 4-bit start code designated “1110”. After the start code, the frame identifies a particular domain, such as a house, by a 4-bit “house code” and identifies devices in that domain by a 4-bit “device code”. Also, the frame is 8 bits that identify certain preset commands such as “on”, “off”, “dark”, “bright”, “status on”, “status off”, and “status request”. Contains the command string.
例示的なアーキテクチャ
図1は、本発明の実施形態による、デバイスの管理方法を実施する際に有用な例示的なアーキテクチャのブロック図である。図1のアーキテクチャは、ドメイン(118)を含む。本明細書中で、「ドメイン」という語は、特定のネットワーク接続環境を意味する。様々なドメインの例には、家庭のネットワーク、自動車のネットワーク、会社のネットワーク、および当業者によって想起される他のものが含まれる。
Exemplary Architecture FIG. 1 is a block diagram of an exemplary architecture useful in implementing a device management method according to an embodiment of the invention. The architecture of FIG. 1 includes a domain (118). In this specification, the term “domain” means a specific network connection environment. Examples of various domains include home networks, car networks, company networks, and others that are conceived by those skilled in the art.
図1のドメイン(118)は、サービスゲートウエイ(106)を含む。サービスゲートウエイ(106)は、いくつかの例示的なアーキテクチャでは、OSGi準拠サービスゲートウエイ(106)である。本明細書では、デバイスの管理方法の例示的な実施形態は、OSGiを用いて説明するが、多くの他のアプリケーションおよびフレームワークも、本発明によるデバイスの管理方法を実施するように機能し、従って本発明の範囲内にある。また、JESおよびSMF等、OSGiを商用に実施したものも、デバイスの管理方法を実施する際に有用である。 The domain (118) of FIG. 1 includes a service gateway (106). The service gateway (106) is an OSGi compliant service gateway (106) in some exemplary architectures. Although an exemplary embodiment of a device management method is described herein using OSGi, many other applications and frameworks also function to implement the device management method according to the present invention, Therefore, it is within the scope of the present invention. In addition, a commercial implementation of OSGi, such as JES and SMF, is also useful when implementing a device management method.
図1の例示的なアーキテクチャでは、サービスゲートウエイ(106)は、サービスフレームワーク(126)を含む。図1のサービスフレームワーク(126)は、「サービス」を実行するためのホストプラットフォームである。サービスは、OSGiにおいてアプリケーションを生成するための主構築ブロックである。OSGiサービスフレームワーク(126)は、Javaで書かれ、従って通常、Javaバーチャルマシン(JVM:Java Virtual Machine)(150)上で実行する。 In the exemplary architecture of FIG. 1, the service gateway (106) includes a service framework (126). The service framework (126) of FIG. 1 is a host platform for executing “services”. A service is the main building block for generating an application in OSGi. The OSGi service framework (126) is written in Java and therefore typically runs on the Java Virtual Machine (JVM) (150).
図1の例示的なアーキテクチャは、DML(108)を含む。「DML」(108)は、ドメインメディエーション層(Domain Mediation Layer)の略語である。図1のアーキテクチャの多くの実施形態では、DML(108)は、本発明によるデバイスの管理方法を実施する際に有用なアプリケーションソフトウエアである。本発明のいくつかの実施形態では、DMLは、OSGi準拠アプリケーションソフトウエアであり、従って、サービスフレームワーク(126)上にインストールされたサービスまたはバンドルとしてパッケージ化されたサービス群として実施される。本明細書では、多くの場合、DMLについて、OSGiの文脈で考察する。しかしながら、OSGiの考察は説明のためであり、限定のためではない。実際、本発明の様々な実施形態によるDMLは、C、C++、COBOL、FORTRAN、BASIC等、当業者によって実施されるいずれかのプログラミング言語において実施可能であり、Java以外の言語で開発されたDMLは、JVMでなくオペレーティングシステムまたはオペレーティング環境上に直接インストールされる。 The exemplary architecture of FIG. 1 includes a DML (108). “DML” (108) is an abbreviation for Domain Mediation Layer. In many embodiments of the architecture of FIG. 1, DML (108) is application software useful in implementing the device management method according to the present invention. In some embodiments of the present invention, the DML is OSGi compliant application software and is therefore implemented as a set of services packaged as services or bundles installed on the service framework (126). In this specification, DML is often considered in the context of OSGi. However, the discussion of OSGi is for explanation and not for limitation. In fact, the DML according to various embodiments of the present invention can be implemented in any programming language implemented by those skilled in the art, such as C, C ++, COBOL, FORTRAN, BASIC, and developed in languages other than Java. Is installed directly on the operating system or operating environment rather than the JVM.
図1の例示的なアーキテクチャにおいて、サービスゲートウエイ(106)は、データ通信のために計量センサ(406)と結合されている。計量センサ(406)は、ユーザの状況の指示を読み、ユーザの状況の指示に応答してユーザ計量を生成するデバイスである。「ユーザの状況の指示」は、ユーザの状況の定量化可能な特徴であり、この特徴を測定した量である。1例として、ユーザの状況の定量化可能な特徴は、華氏99.2度の体温である。ユーザの状況の定量化可能な特徴の例には、体温、心拍数、血圧、位置、皮膚電気反応、および当業者に想起される他のものが含まれる。 In the exemplary architecture of FIG. 1, the service gateway (106) is coupled with a metering sensor (406) for data communication. The weighing sensor (406) is a device that reads a user status indication and generates a user metric in response to the user status indication. The “user status indication” is a feature that can quantify the user status, and is an amount obtained by measuring this feature. As an example, a quantifiable feature of a user's situation is a body temperature of 99.2 degrees Fahrenheit. Examples of quantifiable features of the user's situation include body temperature, heart rate, blood pressure, location, electrodermal response, and others that will occur to those skilled in the art.
「ユーザ計量」は、ユーザ状況の指示を表すデータ構造である。本発明によるデバイスの管理方法の多くの例では、ユーザ計量は、userIDフィールド、metricIDフィールド、および計量値フィールドを含むデータ構造、クラス、またはオブジェクトとして実施される。典型的なuserIDフィールドは、計量によって状況の指示が表されるユーザを識別する。典型的なmetricIDフィールドは、例えば、血圧、心拍数、位置、または皮膚電気反応等、計量が表すユーザ状況の定量化可能な特徴を識別する。典型的な計量値フィールドは、このユーザ状況の特徴を測定した量を格納する。 “User metric” is a data structure representing an instruction of a user situation. In many examples of device management methods according to the present invention, user metrics are implemented as a data structure, class, or object that includes a userID field, a metricID field, and a metric value field. A typical userID field identifies a user whose status indication is represented by a metric. A typical metricID field identifies a quantifiable feature of the user situation that the metric represents, such as blood pressure, heart rate, location, or electrodermal response. A typical metric field stores a measure of this user situation characteristic.
計量センサとして用いるために有用または容易に適合可能な着用可能かつワイヤレスの心拍モニタ、皮膚電気反応モニタ、眼球反応モニタ、および呼吸モニタは、現在、Quibit Systems, Inc.から入手可能である。Body Trends, Inc.からの心拍モニタの「Polar」シリーズ、および、Sentec Corporationからの磁気弾性胃pHセンサは、計量センサとして用いるために有用または容易に適合可能である、容易に入手可能な生物医学センサの他の例である。 Wearable and wireless heart rate monitors, electrodermal response monitors, ocular response monitors, and respiratory monitors that are useful or easily adaptable for use as metering sensors are currently available from Quibit Systems, Inc. The “Polar” series of heart rate monitors from Body Trends, Inc., and the magnetoelastic gastric pH sensor from Sentec Corporation are useful or easily adaptable for use as metering sensors, readily available biomedical It is another example of a sensor.
生物医学センサ等の従来のセンサが、多数のユーザを含むドメインにおいて多数の計量タイプを送信する計量センサとして有用であるためには、センサは、測定する各特徴の値だけでなく、user IDおよびmetric IDも送信すると好都合である。user IDが有用である理由は、本発明の典型的な実施形態が、多くのユーザのために同時にデバイスを管理することができるDMLを含むからである。metric IDが有用である理由は、1人だけのユーザが、同時に2つ以上の計量センサを用いたり、または、ユーザ状況の2つ以上の特徴に関するデータを監視および送信することができる計量センサを用いたりする場合があるからである。全てのワイヤレスセンサは、少なくとも、何らかのワイヤレスデータ通信プロトコルに従って計量値を送信する。いずれかの特定の「既製の」センサがuser IDまたはmetric IDを送信しない場合、かかるセンサは、単にその制御ソフトウエアをわずかに変更することによって、その送信にuser IDおよびmetric IDを含ませるように容易に適合される。 In order for a conventional sensor, such as a biomedical sensor, to be useful as a metric sensor that transmits multiple metric types in a domain that includes a large number of users, the sensor has not only a value for each feature to be measured, but also a user ID and metric It is convenient to also send the ID. The reason user ID is useful is that exemplary embodiments of the present invention include DML that can manage devices for many users simultaneously. metric The reason why ID is useful is that only one user can use two or more weighing sensors at the same time, or use a weighing sensor that can monitor and transmit data on two or more characteristics of the user situation. It is because there is a case where it is. All wireless sensors transmit metric values at least according to some wireless data communication protocol. Any particular “off-the-shelf” sensor has a user ID or metric If the ID is not sent, such a sensor will simply change its control software to send the user ID and metric to the send. Easily adapted to include an ID.
ほとんどのDMLがmetric IDおよびuser IDをサポートすると予想されるが、本発明の範囲内のいくつかの状況では、センサがその出力の遠隔測定データにおいてmetric IDおよびuser IDを与えない場合でも、計量センサとして既製のセンサを用いることができる。ただ1人の者が、例えば心拍数等の単一の計量のみを追跡するDMLによって制御または管理されるデバイスを有するドメインに住む例を考える。ただ1人のユーザのための1つのみの計量を追跡するDMLは、計量センサから受信される遠隔測定データに計量種類のコードを必要とせずに機能することができる。これはむろん、ただ1つの種類の計量を受信するからである。この例では、厳密に言えば、Body Trendsからの「Polar」センサ等、既存のBluetooth対応心拍センサが、計量センサとして機能することができるであろう。この例は、説明のためにのみ提示する。なぜなら、実際の問題として、本発明の実施形態によるほとんどのDMLは、2人以上のユーザのために(従って遠隔測定データにuser IDを必要とする)、2つ以上の種類の計量(従って遠隔測定データにmetric IDを必要とする)を管理すると有用かつ有利であると推測されるからである。 Although most DMLs are expected to support metric ID and user ID, in some situations within the scope of the present invention, even if the sensor does not provide a metric ID and user ID in its output telemetry data An off-the-shelf sensor can be used as the sensor. Consider an example where only one person lives in a domain that has a device controlled or managed by a DML that tracks only a single metric, such as a heart rate. A DML that tracks only one metric for a single user can function without requiring a metric type code in the telemetry data received from the metric sensor. This is of course because only one type of metric is received. In this example, strictly speaking, an existing Bluetooth enabled heart rate sensor, such as the “Polar” sensor from Body Trends, could function as a metering sensor. This example is presented for illustrative purposes only. Because, in practice, most DMLs according to embodiments of the present invention require two or more types of metrics (and thus remote telemetry) for two or more users (thus requiring a user ID for telemetry data). This is because it is presumed that it is useful and advantageous to manage the measurement data).
本発明の多くの実施形態では、計量センサは、データ通信のためにサービスゲートウエイ(106)とワイヤレスで結合すると有利である。多くの代替的な実施形態では、計量センサは、Bluetooth、802.11、HTTP、WAP、または当業者に想起される他のいずれかのプロトコル等の様々なプロトコルを用いて、ユーザ計量を、サービスゲートウエイを介してDMLに送信する。 In many embodiments of the present invention, the metering sensor is advantageously coupled wirelessly with the service gateway (106) for data communication. In many alternative embodiments, the metering sensor uses a variety of protocols such as Bluetooth, 802.11, HTTP, WAP, or any other protocol conceived by those skilled in the art to service user metering. Send to DML via gateway.
図1の例示的なアーキテクチャでは、ドメイン(118)は、データ通信のためにLAN(105)を介してサービスゲートウエイ(106)と結合されたデバイス(316)を含む。本発明の多くの実施形態では、ドメイン(118)は多くのデバイスを含む。例えば、家庭ドメインは、テレビ、多くの照明、冷蔵庫、冷凍庫、コーヒーポット、自動皿洗い機、乾燥機、CDプレーヤ、DVDプレーヤ、個人用ビデオレコーダ、または当業者に想起される他のいずれかのネットワーク接続可能デバイスを有する家庭ネットワークを含むことができる。説明を容易にするため、図1の例示的なアーキテクチャは、3つのデバイス(316)のみを示すが、いかなる数のデバイスの使用も本発明の範囲内である。 In the exemplary architecture of FIG. 1, domain (118) includes a device (316) coupled to a service gateway (106) via a LAN (105) for data communication. In many embodiments of the invention, domain (118) includes a number of devices. For example, the home domain may be a television, many lights, refrigerators, freezers, coffee pots, automatic dishwashers, dryers, CD players, DVD players, personal video recorders, or any other network conceived by those skilled in the art A home network with connectable devices can be included. For ease of explanation, the exemplary architecture of FIG. 1 shows only three devices (316), but the use of any number of devices is within the scope of the present invention.
デバイス(316)を管理するため、DMLは、デバイス上で属性を獲得し設定するアクセス機構メソッドを含むデバイス用デバイスクラス、および、場合によっては、デバイスと通信するのに必要なプロトコルを提供する通信クラスを有しなければならない。図1のアーキテクチャのいくつかの例では、DMLには、このDMLがサポートする多くのデバイスのためのデバイスクラスおよび通信クラスがプレインストールされている。 To manage the device (316), the DML provides a device class for the device that includes access mechanism methods to obtain and set attributes on the device, and possibly a protocol that is necessary to communicate with the device. Must have a class. In some examples of the architecture of FIG. 1, the DML is pre-installed with device classes and communication classes for many devices that the DML supports.
DMLが特定のデバイスのためのプレインストールされたデバイスクラスおよび通信クラスを有しない場合、DMLは多くの方法でデバイスクラスおよび通信クラスを取得することができる。DMLがデバイスのためのデバイスクラスおよび通信クラスを取得する1つの方法は、デバイスクラスおよび通信クラスをデバイスから読み取ることである。このためには、デバイスクラスおよび通信クラスを格納するために充分なメモリがデバイスにインストールされている必要がある。また、DMLは、インストールされたデバイスクラスおよび通信クラスを含まないデバイスからデバイスクラスおよび通信クラスを取得することができる。DMLがデバイスクラスおよび通信クラスを取得する1つの方法は、デバイスからデバイスIDを読み取り、インターネットでデバイスクラスおよび通信クラスを検索し、それらをダウンロードすることである。DMLがデバイスクラスおよび通信クラスを取得する別の方法は、デバイスからネットワーク位置を読み取り、そのネットワーク位置からデバイスクラスおよび通信クラスをダウンロードすることである。本発明に従ってデバイスを管理するために必要なデバイスクラスおよび通信クラスを取得するための3つの方法を記載した。また、他の方法も、当業者には想起されよう。 If the DML does not have a pre-installed device class and communication class for a particular device, the DML can obtain the device class and communication class in many ways. One way for the DML to obtain the device class and communication class for a device is to read the device class and communication class from the device. This requires that sufficient memory is installed in the device to store the device class and communication class. Further, the DML can acquire a device class and a communication class from a device that does not include the installed device class and the communication class. One way for the DML to obtain the device class and communication class is to read the device ID from the device, search the internet for the device class and communication class, and download them. Another way for the DML to obtain the device class and communication class is to read the network location from the device and download the device class and communication class from the network location. Three methods have been described for obtaining the device classes and communication classes necessary for managing devices according to the present invention. Other methods will also occur to those skilled in the art.
図1の例示的なアーキテクチャは、データ通信のためにWAN(104)を介してサービスゲートウエイ(106)に結合された非ドメインエンティティ(102)を含む。「非ドメインエンティティ」は、データ通信のためにドメインに結合されるがドメイン内にはない、いずれかのコンピューティングデバイスまたはネットワーク位置である。「非ドメインエンティティ」という語は大まかなものであり、これが図1のアーキテクチャに含まれると、本発明によるデバイスの管理方法を実施する際に有用なアーキテクチャの多くの実施形態において、所与のドメインを、データ通信のために、外側の非ドメインエンティティと結合することが認められる。 The example architecture of FIG. 1 includes a non-domain entity (102) coupled to a service gateway (106) via a WAN (104) for data communication. A “non-domain entity” is any computing device or network location that is coupled to a domain for data communication but not within the domain. The term “non-domain entity” is broad and, when included in the architecture of FIG. 1, in many embodiments of the architecture useful in implementing the device management method according to the present invention, Can be combined with an outer non-domain entity for data communication.
非ドメインエンティティの1例は、ドメイン内にインストールされたデバイス(316)の製造業者のウエブサーバ(ドメインの外側)である。製造業者は、デバイスのドライバのダウンロード、デバイスの更新、またはデバイス用の他のいずれかの情報またはソフトウエアのために利用可能となるウエブサイトを運営することができる。デバイスのためのドライバ、更新、情報またはソフトウエアは、WANを通して、サービスゲートウエイを介して、デバイスにダウンロードすることができる。 One example of a non-domain entity is the manufacturer's web server (outside the domain) of a device (316) installed in the domain. The manufacturer can operate a website that becomes available for device driver downloads, device updates, or any other information or software for the device. Drivers, updates, information or software for the device can be downloaded to the device through the WAN and through the service gateway.
図2は、本発明によるデバイスの管理方法を実施する際に有用な例示的なサービスゲートウエイ(106)のブロック図である。図2のサービスゲートウエイ(106)は、本発明の実施形態において有用ないくつかの例示的なアーキテクチャにおいて、OSGi準拠サービスゲートウエイ(106)である。デバイスの管理方法の例示的な実施形態は、OSGiを用いて本明細書中で説明するが、OSGi以外の多くの他のアプリケーションおよびフレームワークも、本発明によるデバイスの管理方法を実施するように機能し、従って本発明の範囲内である。また、JESおよびSMF等、OSGiを商用に実施したものは、本発明の方法を実施する際に有用である。 FIG. 2 is a block diagram of an exemplary service gateway (106) useful in implementing the device management method according to the present invention. The service gateway (106) of FIG. 2 is an OSGi compliant service gateway (106) in some exemplary architectures useful in embodiments of the present invention. Although an exemplary embodiment of a device management method is described herein using OSGi, many other applications and frameworks other than OSGi will also implement the device management method according to the present invention. And therefore within the scope of the present invention. In addition, a commercial implementation of OSGi, such as JES and SMF, is useful when implementing the method of the present invention.
OSGiは、「Open ServicesGateway Initiative」を表す。OSGi仕様は、Javaベースのアプリケーション層フレームワークであり、家庭、自動車、および他の環境においてネットワークで動作する任意の通信プロトコルを用いた様々なデバイスに、ベンダー中立のアプリケーションおよびデバイス層のAPIおよび機能を提供する。OSGiは、Ethernet、Bluetooth、「Home, Audio and Video InteroperabilityStandard(HAVi)」、IEEE1394、ユニバーサルシリアルバス(USB)、WAP、X−10、Lon Works、HomePlugのような様々なネットワーク接続技術、および他の様々なネットワーク接続技術によって機能する。OSGi仕様は、www.osgi.orgでOSGiのウエブサイトから無料でダウンロードすることができる。 OSGi represents “Open Services Gateway Initiative”. The OSGi specification is a Java-based application layer framework that provides vendor-neutral application and device layer APIs and functionality to a variety of devices using any communication protocol that operates over a network in the home, automobile, and other environments. I will provide a. OSGi includes various network connection technologies such as Ethernet, Bluetooth, “Home, Audio and Video Interoperability Standard (HAVi)”, IEEE 1394, Universal Serial Bus (USB), WAP, X-10, Lon Works, HomePlug, and other It works by various network connection technologies. The OSGi specification can be downloaded free from the OSGi website at www.osgi.org.
図2のサービスゲートウエイ(106)は、サービスフレームワーク(126)を含む。多くの例示的な実施形態では、サービスフレームワークは、OSGiサービスフレームワーク(126)である。OSGiサービスフレームワーク(126)は、Javaで書かれ、従って、通常、Javaバーチャルマシン(JVM)上で動作する。OSGiでは、図1のサービスフレームワーク(126)は、「サービス」(124)を実行するためのホストプラットフォームである。本開示において、「サービス」または「複数のサービス」という語は、文脈にもよるが、一般にOSGi準拠のサービスを指す。 The service gateway (106) of FIG. 2 includes a service framework (126). In many exemplary embodiments, the service framework is the OSGi service framework (126). The OSGi service framework (126) is written in Java and thus typically runs on a Java Virtual Machine (JVM). In OSGi, the service framework (126) of FIG. 1 is a host platform for executing "services" (124). In this disclosure, the term “service” or “services” generally refers to an OSGi compliant service, depending on the context.
サービス(124)は、OSGiに従ってアプリケーションを生成するための主構築ブロックである。サービス(124)は、ある機構を実現するJavaクラスおよびインタフェースのグループである。OSGi仕様は、多数の標準サービスを提供する。例えば、OSGiは、HTTPクライアントからの要求に応答可能であるウエブサーバを生成する標準的なHTTPサービスを提供する。 Service (124) is the main building block for generating applications according to OSGi. A service (124) is a group of Java classes and interfaces that implement a certain mechanism. The OSGi specification provides a number of standard services. For example, OSGi provides a standard HTTP service that creates a web server that can respond to requests from HTTP clients.
また、OSGiは、デバイスアクセス仕様と呼ばれる標準サービス集合を提供する。デバイスアクセス仕様(「DAS:Device Access Specification」)は、サービスゲートウエイに接続するためのデバイスを識別し、そのデバイス用のドライバを検索し、デバイス用ドライバをインストールするためのサービスを提供する。 OSGi also provides a standard service set called a device access specification. A device access specification ("DAS: Device Access Specification") provides a service for identifying a device to connect to a service gateway, searching for a driver for the device, and installing a driver for the device.
OSGiにおけるサービス(124)は、実行のためにサービス(124)が必要とする他のファイル、画像、およびリソースと共に「バンドル」(121)にパッケージ化されている。バンドル(121)は、Javaアーカイブすなわち「JAR」ファイルであり、1つ以上のサービス実施(124)、アクティベータクラス(127)、およびマニフェストファイル(125)を含む。アクティベータクラス(127)は、バンドルを開始および停止するためにサービスフレームワーク(126)が用いるJavaクラスである。マニフェストファイル(125)は、バンドル(121)の内容を記述する標準テキストファイルである。 Services (124) in OSGi are packaged in “bundles” (121) along with other files, images, and resources that the service (124) needs for execution. The bundle (121) is a Java archive or “JAR” file that includes one or more service implementations (124), an activator class (127), and a manifest file (125). The activator class (127) is a Java class used by the service framework (126) to start and stop the bundle. The manifest file (125) is a standard text file that describes the contents of the bundle (121).
図2の例示的なアーキテクチャは、DML(108)を含む。本発明の多くの実施形態では、DMLは、デバイスの管理方法を実行するOSGiサービスである。図2のDML(108)は、バンドル(121)内でパッケージ化され、サービスフレームワーク(126)上にインストールされる。 The example architecture of FIG. 2 includes a DML (108). In many embodiments of the invention, the DML is an OSGi service that performs a device management method. The DML (108) of FIG. 2 is packaged in a bundle (121) and installed on the service framework (126).
また、OSGiのサービスフレームワーク(126)は、サービスレジストリ(128)を含む。サービスレジストリ(128)は、サービス登録(129)を含み、これは、フレームワーク(126)上にインストールされサービスレジストリ(128)に登録された各バンドル(121)ごとに、サービスの名前およびサービスを実施するクラスのインスタンスを含む。バンドル(121)は、このバンドル(121)に含まれておらずフレームワークサービスレジストリ(128)上に登録されているサービスを要求することができる。サービスを見つけるために、バンドル(121)は、フレームワークのサービスレジストリ(128)上でクエリを実行する。 The OSGi service framework (126) also includes a service registry (128). The service registry (128) includes a service registration (129), which provides a service name and service for each bundle (121) installed on the framework (126) and registered in the service registry (128). Contains an instance of the class to implement. The bundle (121) can request a service that is not included in the bundle (121) and is registered on the framework service registry (128). To find the service, the bundle (121) performs a query on the framework's service registry (128).
例示的なクラスおよびクラス協働
図3は、本発明によるデバイスの管理方法を実施する際に有用な例示的クラスを示すブロック図である。図3の例示的なクラスは、限定のためではなく、本発明の理解に役立てるために提示する。本発明によるデバイスの管理方法は、本明細書中で、Javaに関連付けて一般的に論じるが、Javaは、限定のためでなく説明のためにのみ用いる。実際、本発明によるデバイスの管理方法は、C++、Smalltalk、C、Pascal、Basic、COBOL、Fortran等を含む、当業者に想起される多くのプログラミング言語で実施可能である。
Exemplary Classes and Class Collaboration FIG. 3 is a block diagram illustrating exemplary classes useful in implementing the device management method according to the present invention. The exemplary classes of FIG. 3 are presented to assist in understanding the present invention, not for limitation. The device management method according to the present invention is generally discussed herein in connection with Java, which is used for illustration only and not for limitation. In fact, the device management method according to the present invention can be implemented in many programming languages conceived by those skilled in the art including C ++, Smalltalk, C, Pascal, Basic, COBOL, Fortran, and the like.
図3のクラス図は、例示的なDMLクラス(202)を含む。図3の例示的なDMLクラス(202)のインスタンスは、本発明によるデバイスの実施に有用なステップを実行するメンバメソッドを提供する。図3の例示的なDMLクラスは、Activator.start()メソッドによって示すので、DMLは、OSGIフレームワークにおけるサービスとして開始することができる。このDMLのために1つのみのメンバメソッドを示すが、DMLは、実際、特定の実施形態に必要なもっと多くのメンバメソッドを有することが多い。また、図3のDMLクラスは、多くの場合DMLの構築者によって生成される、サービスクラスに対する参照を格納するためのメンバデータ要素を含む。この例では、DMLは、計量サービス(552)、計量範囲サービス(558)、通信サービス(554)、アクションサービス(560)、デバイスサービス(556)、計量ベクトルサービス(559)、計量空間サービス(561)、および動的アクションリストサービス(563)に対する参照のための記憶フィールドを提供する。 The class diagram of FIG. 3 includes an exemplary DML class (202). The instance of the exemplary DML class (202) of FIG. 3 provides member methods that perform the steps useful for implementing a device according to the present invention. The exemplary DML class of FIG. 3 is shown by the Activator.start () method, so the DML can be started as a service in the OSGI framework. Although only one member method is shown for this DML, the DML often actually has more member methods as required for a particular embodiment. Also, the DML class of FIG. 3 includes member data elements for storing references to service classes, often generated by DML builders. In this example, the DML has a metric service (552), a metric range service (558), a communication service (554), an action service (560), a device service (556), a metric vector service (559), and a metric space service (561). ), And a storage field for reference to the dynamic action list service (563).
図3の計量サービスクラス(204)が提供するメンバメソッドは、DMLからユーザ計量を受信し、DMLからのユーザ計量の受信に応答して、計量クラスのインスタンスを生成する。図3の計量サービスクラス(204)は、createMetric(userID, MetricID, Metric Value)メンバメソッド(562)を含む。CreateMetric()メンバメソッドは、いくつかの実施形態では、計量IDによってパラメータで表されるファクトリメソッド(factory method)であり、その計量IDに応じた計量オブジェクトを生成して戻す。DMLからユーザ計量を取得したことに応答して、図3の計量サービスクラス(204)の例示的なインスタンスは、計量クラスのインスタンスを生成し、新しい計量オブジェクトに対する参照をDMLに戻す。 The member method provided by the metric service class (204) of FIG. 3 receives a user metric from the DML and creates an instance of the metric class in response to receiving the user metric from the DML. The metric service class (204) of FIG. 3 includes a createMetric (userID, MetricID, Metric Value) member method (562). The CreateMetric () member method, in some embodiments, is a factory method represented by a parameter by a metric ID, and creates and returns a metric object corresponding to the metric ID. In response to obtaining a user metric from the DML, the example instance of the metric service class (204) of FIG. 3 creates an instance of the metric class and returns a reference to the new metric object to the DML.
厳密に言えば、本発明の限定において、ファクトリメソッドによる計量オブジェクトの生成をDMLに要求するものはない。DMLは、例えば、以下の疑似コードセグメントにおいて例示するように進行することができる。
この例では、計量オブジェクトを生成し、アクセス機構メソッドを用いてそのメンバデータをロードする。この手法は、各計量ごとに全く同じ計量オブジェクトクラスを提供するが、計量によって異なる具体的クラス構造を利用することが有利な状況がある。例えば、心拍数および血圧の計量の場合、双方の計量値を整数として符号化することができ、この場合、例えば、GPS送受信器からの地表面上の極座標用の計量値を、例えばそれ自身の位置クラスも有する、より複雑なデータ構造に符号化すると有利な場合がある。ファクトリメソッドを用いると、2つ以上の計量クラスの使用が容易になる。計量オブジェクトを生成するためにファクトリメソッドを用いたDMLは、以下の例示的な疑似コードセグメントに示すように進行することができる。
この例は、ファクトリメソッドcreateMetric()を利用して、新しい計量オブジェクト内にパラメータ値をセットする。計量サービスおよび計量オブジェクトのためのファクトリメソッドは、以下の疑似コードセグメントに示すように実施することができる。
この例におけるMetricServiceは、ファクトリメソッドを含む、いわゆるパラメータ化ファクトリ設計パターンを実施する。この例では、ファクトリメソッドは、「createMetricObject()」という名前のメンバメソッドである。createMetricObject()は、3つのパラメータ、すなわちユーザID、計量ID、および計量値を受け取る。createMetricObject()は、計量IDに応じてスイッチステートメント(switch statement)を実施して、特定の具体的な計量クラスを選択しインスタンス化する。この例における具体的な計量クラスは、HeartRatemetric、BloodPressureMetric、およびGPSMetricであり、それらの各々は、Metricベースクラスを拡張する。createMetricObject()は、呼び出し側のDMLに、新しい計量オブジェクトに対する参照を戻す。DMLからの呼び出しは以下の通りであるが、
Metric aMetric=MetricService.createMetricObject(userID,metricID, metricValue)
これは多形であり、ベースクラスMetricに対する参照を利用するので、呼び出し側のDMLは、どの計量オブジェクトのクラスが実際にインスタンス化されて戻されるのかを知らないし、気にもしない。以下は、Metricベースクラスを拡張する地表面上のユーザの位置を表す具体的な計量クラスを規定するための、Metricベースクラスの拡張例である。
Metric aMetric = MetricService.createMetricObject (userID, metricID, metricValue)
Since this is polymorphic and uses a reference to the base class Metric, the calling DML does not know or care about which metric object class is actually instantiated and returned. The following is an example extension of the Metric base class to define a specific metric class that represents the location of the user on the ground surface that extends the Metric base class.
この例の具体的なクラスGPSMetricは、緯度および経度のための記憶領域を提供する。GPSMetricは、構築者にGPSMetric()を提供し、これは、userIDおよびmetricIDを設定するために整数の引数を取るが、そのmetricValue引数がGPSLocationオブジェクトに対する参照であると予想し、更にこのオブジェクトが、緯度および経度のためのメンバデータの記憶領域を提供する。 The concrete class GPSMetric in this example provides storage for latitude and longitude. GPSMetric provides GPSMetric () to the builder, which takes integer arguments to set the userID and metricID, but expects that metricValue argument to be a reference to a GPSLocation object, Provides storage for member data for latitude and longitude.
図3のクラス図は、例示的な計量クラス(206)を含む。図3の例示的な計量クラス(206)は、ユーザ計量を表す。ユーザ計量は、ユーザ状況の指示を記述するデータを有する。ユーザの状況の指示は、ユーザ状況の定量化可能な特徴であり、この特徴を測定する量である。ユーザ状況の定量化可能な特徴の例は、体温、心拍数、血圧、位置、皮膚電気応答、および当業者に想起されるいずれかの他のユーザ状況の特徴を含む。 The class diagram of FIG. 3 includes an exemplary metric class (206). The example metric class (206) of FIG. 3 represents a user metric. The user metric has data describing an indication of the user situation. The user status indication is a quantifiable feature of the user status and is an amount to measure this feature. Examples of quantifiable features of the user situation include body temperature, heart rate, blood pressure, position, galvanic response, and any other user situation feature that will occur to those skilled in the art.
図3の例示的な計量クラス(206)は、ユーザIDフィールド(486)、計量IDフィールド(488)、値フィールド(499)を含む。ユーザIDフィールド(486)は、ユーザを識別する。計量ID(488)は、計量クラスのインスタンスが表すユーザ計量を識別する。すなわち、ユーザ計量の種類である。値フィールド(490)は、ユーザ計量の値を含む。 The exemplary metric class (206) of FIG. 3 includes a user ID field (486), a metric ID field (488), and a value field (499). The user ID field (486) identifies the user. The metric ID (488) identifies the user metric represented by an instance of the metric class. That is, the type of user measurement. The value field (490) contains the value of the user metric.
また、図3の例示的な計量クラスは、計量アクションリスト(622)のためのデータ記憶領域を含む。計量アクションリストは、アクションを識別するアクションIDを含むデータ構造であり、このアクションIDは、実行されると、計量が表すユーザ状況の同じ特徴に影響を与えるようにデバイスを管理する。例えば、体温の計量は、実行されると天井のファンをオンするアクションIDを含む関連計量アクションリストを有することができる。デバイスの管理方法の多くの例では、計量アクションリストにおけるアクションIDを用いて、動的アクションリストに含むためのアクションIDを識別する。 The exemplary metric class of FIG. 3 also includes a data storage area for the metric action list (622). A metric action list is a data structure that includes an action ID that identifies an action, which, when executed, manages the device to affect the same characteristics of the user situation that the metric represents. For example, a body temperature metric may have an associated metric action list that includes an action ID that, when executed, turns on a ceiling fan. In many examples of device management methods, action IDs in the metric action list are used to identify action IDs for inclusion in the dynamic action list.
例示的な計量クラス(206)は、様々な実施形態において汎用クラスとして使用可能なクラスの1例であり、そのインスタンスを用いて、上述のような同一または類似のメンバデータ要素を有する2つ以上の種類の計量を格納または表現することができる。代替的に、他の実施形態では、この例の計量クラス(206)のようなクラスを、ベースクラスとして用いて、具体的な導出されたクラスによって拡張することができ、その各々が、上述した広く異なるメンバデータ種類を有することができる。 The exemplary metric class (206) is an example of a class that can be used as a generic class in various embodiments, and using instances thereof, two or more having the same or similar member data elements as described above. Types of metrics can be stored or represented. Alternatively, in other embodiments, a class such as the metric class (206) of this example can be extended as a base class, with specific derived classes, each of which is described above. Can have widely different member data types.
図3のクラス図は、例示的な関連計量サービスクラス(684)を含む。例示的な関連計量サービスクラスは、メンバメソッドすなわちcreateRelationalMetric()(686)を含む。多くの実施形態において、createRelationalMetric()(686)は、計量キャッシュ内のユーザ計量間の関係を決定し、計量キャッシュ内のユーザ計量間の決定した関係を表す関連計量をインスタンス化する。他の実施形態では、createRelationalMetric()は、計量キャッシュ内のユーザ計量を、既定の計量パターンを形成する既定の計量集合と比較する。計量キャッシュ内のユーザ計量が、既定の計量パターンを形成する既定の計量と一致する場合、createRelationalMetricは、既定の計量パターンが定める関係を表す予め生成された関連計量を検索する。 The class diagram of FIG. 3 includes an exemplary related metric service class (684). An exemplary related metric service class includes a member method, createRelationalMetric () (686). In many embodiments, createRelationalMetric () (686) determines the relationship between user metrics in the metric cache and instantiates a related metric that represents the determined relationship between user metrics in the metric cache. In other embodiments, createRelationalMetric () compares the user metrics in the metric cache with a default metric set that forms a default metric pattern. If the user metric in the metric cache matches the default metric that forms the default metric pattern, createRelationalMetric retrieves a pre-generated related metric that represents the relationship defined by the default metric pattern.
図3のクラス関係図は、関連計量を含む。関連計量は、計量キャッシュ内のユーザ計量に応じて生成されるか、またはユーザ計量がキャッシュに到着することを予想して生成される計量である。すなわち、関連計量は、場合によっては、計量キャッシュ内のユーザ計量間の関係を決定した結果として生成される。他の場合、関連計量は、所定の計量の所定パターンに応じて生成される計量である。かかる所定の関連計量は、多くの場合、計量キャッシュ内のユーザ計量に応じて、関連データベースから選択される。 The class relationship diagram of FIG. 3 includes related metrics. An associated metric is a metric that is generated in response to a user metric in the metric cache or that is generated in anticipation of a user metric arriving at the cache. That is, the related metric is sometimes generated as a result of determining the relationship between user metrics in the metric cache. In other cases, the associated metric is a metric generated according to a predetermined pattern of a predetermined metric. Such a predetermined related metric is often selected from a related database depending on the user metric in the metric cache.
図3の例示的な関連計量は、ユーザを識別するuserIDフィールドを含む。図3の関連計量は、計量IDフィールドを含む。また、関連計量は、値フィールド(490)も含む。多くの場合、値フィールドは、典型的に、関連計量が表す特定の関係の大きさを表す。いくつかの例では、関係レコードは、関連計量の異なる特徴を表す2つ以上の値フィールドを有することができる。例えば、「移動」の関連計量は、方向を示す値フィールド、および、速度を示す別の値フィールドを有することができる。 The example associated metric of FIG. 3 includes a userID field that identifies the user. The associated metric in FIG. 3 includes a metric ID field. The associated metric also includes a value field (490). In many cases, the value field typically represents the magnitude of the particular relationship that the associated metric represents. In some examples, the relationship record may have more than one value field that represents different characteristics of the associated metric. For example, an associated metric for “movement” may have a value field that indicates direction and another value field that indicates speed.
図3のクラス図は、計量ベクトルサービス(207)を含む。図3の計量ベクトルサービスクラス(207)は、メンバメソッドを提供し、これは、計量サービスからのユーザ計量および関連計量サービスからの関連計量の受信に応答して、計量ベクトルクラスのインスタンスを生成する。多くの例示的な実施形態では、createMetric vectorObject()メンバメソッド(565)は、ユーザID、ユーザ計量の計量IDおよび関連計量に応じて、計量ベクトルリストから、ユーザ計量ベクトルのための計量ベクトルIDを識別する。計量ベクトルサービスの計量ベクトルリストに計量ベクトルが存在しない場合、計量ベクトルサービスは、1つの計量ベクトルをインスタンス化し、その計量ベクトルIDを、関連するユーザIDおよび計量IDによって示して、計量ベクトルテーブルに格納する。計量ベクトルオブジェクトの生成は、以下の疑似コードセグメントに示すように実施可能である。
上述の疑似コードの例では、計量ベクトルサービスが、計量ベクトルサービスの計量ベクトルテーブル内に計量ベクトルが識別されていないuserIDを有する計量または関連計量を受信すると、計量ベクトルサービスは、ユーザのために新しい計量ベクトルIDを有する新しい計量ベクトルを生成し、その計量ベクトルを計量ベクトルリストに追加する。 In the above pseudocode example, when the metric vector service receives a metric or associated metric with a userID whose metric vector is not identified in the metric vector table of the metric vector service, the metric vector service is new for the user. A new metric vector having a metric vector ID is generated, and the metric vector is added to the metric vector list.
図3のクラス図は、計量ベクトルクラス(606)を含む。計量ベクトルクラスのオブジェクトは、ユーザ状況の複雑な指示を表す。ユーザ計量ベクトルは、通常、ユーザ計量の集合を含み、その各々は、ユーザの状況の単一の定量化可能な特徴およびその特徴を測定する量、ならびに、計量キャッシュ内のユーザ計量からまたはそれを予想して生成した関連計量を表す。従って、複数の異なるユーザ計量から成るユーザ計量ベクトルは、ユーザ状況の多数の定量化可能な特徴およびその特徴を測定する多数の量を有するユーザ状況の複雑な指示を表す。計量ベクトルクラス(606)は、ユーザを識別するユーザID(486)を格納するためのデータ要素、および、複数の異なる計量オブジェクトに対する参照を格納するための計量リスト(652)を含む。 The class diagram of FIG. 3 includes a metric vector class (606). A metric vector class object represents a complex indication of the user situation. A user metric vector typically includes a set of user metrics, each of which is a single quantifiable feature of the user's situation and a quantity that measures that feature, as well as a user metric in or from a metric cache. Represents an associated metric that was generated in anticipation. Thus, a user metric vector consisting of a plurality of different user metrics represents a complex indication of a user situation with a number of quantifiable features of the user situation and a number of quantities that measure that feature. The metric vector class (606) includes a data element for storing a user ID (486) identifying the user and a metric list (652) for storing references to a plurality of different metric objects.
また、図3の例示的な計量ベクトル(606)は、動的アクションリスト(626)のためのデータ記憶領域を含む。動的アクションリストは、アクションIDのリストであり、ユーザ計量空間の対応する計量範囲の外にあるユーザ計量ベクトルの特定の計量に関連付けた計量アクションリストに応じて生成される。すなわち、対応する計量範囲の外にある計量ベクトルの各計量は、関連する計量アクションリストを有する。動的アクションリストは、ユーザ計量空間の対応する計量範囲の外にあるユーザ計量ベクトルの特定の計量に関連する計量アクションリストに応じて識別されるアクションIDを含む。動的アクションリストは、ユーザの現在の状況に合わせたアクションIDのリストを提供すると有利である。 The exemplary metric vector (606) of FIG. 3 also includes a data storage area for the dynamic action list (626). The dynamic action list is a list of action IDs and is generated in response to a metric action list associated with a particular metric of the user metric vector that is outside the corresponding metric range of the user metric space. That is, each metric in the metric vector that is outside the corresponding metric range has an associated metric action list. The dynamic action list includes an action ID identified in response to a metric action list associated with a particular metric of the user metric vector that is outside the corresponding metric range of the user metric space. The dynamic action list advantageously provides a list of action IDs tailored to the user's current situation.
また、例示的な計量ベクトルクラスのオブジェクトは、通常、計量ベクトルがユーザ計量空間の外にあるか否かを判定するメンバメソッドを含む。この例示的な計量ベクトルクラスは、様々な実施形態で汎用クラスとして使用可能なクラスの1例であり、そのインスタンスを用いて、同一または同様のメンバデータ要素を有する2つ以上の種類のベクトルを格納または表すことができる。代替的に、他の実施形態では、この例の計量ベクトルクラス等のクラスをベースクラスとして用いて、各々が異なるメンバデータ種類を有し得る具体的な導出クラスによって拡張することができる。 Also, exemplary metric vector class objects typically include member methods that determine whether the metric vector is outside the user metric space. This exemplary metric vector class is an example of a class that can be used as a generic class in various embodiments, and an instance of which can be used to represent two or more types of vectors having the same or similar member data elements. Can be stored or represented. Alternatively, in other embodiments, a class such as the metric vector class of this example can be used as a base class and extended with specific derived classes that can each have a different member data type.
図3のクラス図は、計量範囲サービスクラス(208)を含む。計量範囲サービスクラス(208)は、計量範囲クラスのインスタンスをインスタンス化するメンバメソッドを提供する。図3の計量範囲サービスクラス(208)は、createRangeObject(UserID, MetricID)メンバメソッド(572)を含む。CreateRangeObject()メンバメソッドは、userIDおよびmetric IDに応じて計量範囲オブジェクトを生成するuserIDおよびmetric IDによってパラメータで表されるファクトリ方法である。CreateRangeObject()ファクトリメソッドは、計量ベクトルに、計量範囲オブジェクトに対する参照を戻す。CreateRangeObject()は、createMetricObject()ファクトリメソッドの説明において提供した例示的な疑似コードによって概説した同じ設計パターンを用いて実施可能なパラメータ化ファクトリメソッドである。 The class diagram of FIG. 3 includes a metric range service class (208). The metric range service class (208) provides member methods that instantiate an instance of the metric range class. The metric range service class (208) in FIG. 3 includes a createRangeObject (UserID, MetricID) member method (572). The CreateRangeObject () member method is a factory method represented by a parameter by userID and metric ID that generates a metric range object according to userID and metric ID. The CreateRangeObject () factory method returns a reference to the metric range object in the metric vector. CreateRangeObject () is a parameterized factory method that can be implemented using the same design pattern outlined by the example pseudocode provided in the description of the createMetricObject () factory method.
図3のクラス図は、例示的な計量範囲クラス(210)を含む。例示的な計量範囲クラスのインスタンスは、計量または関連計量についてユーザのために既定された計量範囲を表す。計量範囲オブジェクトにおける最大値および最小値を、計量値と比較して、計量オブジェクトの計量値が既定された計量範囲の外にあるか否かを判定する。図3の例示的な計量範囲クラス(210)は、計量範囲を識別する範囲IDフィールド(463)およびユーザ計量を識別する計量IDフィールド(462)を含む。図3の例示的な計量範囲クラス(210)は、ユーザを識別するユーザIDフィールド(464)を含む。また、計量範囲クラスは、計量範囲を規定する最大値および最小値を含むMaxフィールド(468)およびMinフィールド(470)を含む。 The class diagram of FIG. 3 includes an exemplary metric range class (210). An example metric range class instance represents a metric range defined for a user for a metric or related metric. The maximum value and minimum value in the weighing range object are compared with the weighing value to determine whether the weighing value of the weighing object is outside the predetermined weighing range. The exemplary metric range class (210) of FIG. 3 includes a range ID field (463) that identifies a metric range and a metric ID field (462) that identifies a user metric. The exemplary metric range class (210) of FIG. 3 includes a user ID field (464) that identifies the user. The metric range class also includes a Max field (468) and a Min field (470) that include maximum and minimum values that define the metric range.
図3の例示的な計量範囲クラス(210)は、いわゆるデータオブジェクト、すなわち、クラスのメンバメソッドによってほとんどまたは全く処理が行われていないデータのコンテナ(container)としてのみ機能するクラスの1例である。この例では、計量範囲クラスのオブジェクトは、主に、計量範囲の最小および最大値を他のオブジェクト間で転送するために用いられる。図3の計量範囲クラスは、デフォルトコンストラクタ(constructor)(図示せず)を含むが、厳密に言えば、他のメンバメソッドは必要としない。計量範囲クラスに、他のメンバメソッドが与えられていなければ、協働オブジェクトは、例えば「someMetricRange.max」または「someMetricRange.min」等の符号化によって直接そのメンバデータ要素にアクセスすることができるであろう。しかしながら、この場合の特定の例(210)は、その範囲の最小および最大値のためのアクセス機構メソッド(471、473)を含むものとして例示し、本発明によって必要としない実施であるが、オブジェクト指向パラダイムにおけるプログラミングと一致する。 The exemplary metric range class (210) of FIG. 3 is an example of a so-called data object, ie, a class that functions only as a container for data that has not been processed at all by the class member methods. . In this example, the objects of the weighing range class are mainly used to transfer the minimum and maximum values of the weighing range between other objects. The metric range class of FIG. 3 includes a default constructor (not shown), but strictly speaking, no other member methods are required. If no other member methods are given to the metric range class, the cooperating object can directly access its member data elements by encoding, for example, “someMetricRange.max” or “someMetricRange.min”. I will. However, the specific example (210) in this case is illustrated as including access mechanism methods (471, 473) for the minimum and maximum values of the range, and is an implementation not required by the present invention, Consistent with programming in an oriented paradigm.
図3のクラス図は、計量空間サービスクラス(209)を含む。計量空間サービスクラス(209)は、メンバメソッドcreateMetricSpace()を含み、これは、計量空間リストまたは他のデータ構造を検索して、ユーザのための計量空間を識別する。かかる計量空間が存在しない場合、createMetricSpace()は1つの計量空間をインスタンス化し、計量空間リストに計量空間IDを格納する。計量空間オブジェクトの生成は、以下の例示的な疑似コードによって実施可能である。
上述の疑似コードの例では、計量空間サービスは、計量空間リストから計量空間を検索する。リストが、userIDおよび計量ベクトルIDのための計量空間を含まない場合、MetricSpaceService.createMetricSpace(userID, MetricVectorIC)が、新しい計量空間IDを有する新しい計量空間を生成する。 In the above pseudo code example, the metric space service retrieves the metric space from the metric space list. If the list does not include a metric space for userID and metric vector ID, MetricSpaceService.createMetricSpace (userID, MetricVectorIC) creates a new metric space with a new metric space ID.
図3のクラス図は、計量空間クラスを含む。ユーザ計量空間は、異なるユーザ計量および関連計量のための複数のユーザ計量範囲から成る。例示的な計量空間は、ユーザを識別するユーザ計量(405)および計量空間を識別する空間ID(908)を格納するためのデータ要素を含む。また、図3の計量空間(610)は、ユーザ計量および関連計量の異なる計量範囲に対する参照リストのためのデータ記憶領域(655)を含む。計量空間の異なる計量範囲は、本質的に、ユーザ計量ベクトルにおける計量に対応する。すなわち、典型的な実施形態では、ユーザ計量ベクトルは、異なる現在のユーザ計量および関連計量の集合を含み、ユーザ計量空間は、ユーザのための対応する計量範囲の集合を含む。 The class diagram of FIG. 3 includes a metric space class. The user metric space consists of a plurality of user metric ranges for different user metrics and related metrics. The exemplary metric space includes data elements for storing a user metric (405) that identifies the user and a space ID (908) that identifies the metric space. The metric space (610) of FIG. 3 also includes a data storage area (655) for a reference list for different metric ranges for user metrics and related metrics. Different metric ranges in the metric space essentially correspond to the metric in the user metric vector. That is, in an exemplary embodiment, the user metric vector includes a set of different current user metrics and associated metrics, and the user metric space includes a set of corresponding metric ranges for the user.
図3のクラス図は、アクションサービスクラス(217)を含む。アクションサービスクラスは、メンバメソッドを含み、これらは、ユーザ計量または関連計量のための計量アクションリストをインスタンス化し、アクションオブジェクトをインスタンス化し、アクションリストのアクションオブジェクトに対する参照を格納し、呼び出し側の計量に、アクションリストに対する参照を戻す。それらの全ては、以下の例示的な疑似コードによって示すように実施可能である。
ActionServiceクラスにおけるcreateActionList()メソッドは、「ActionList anActionList=newActionList()」によってユーザ計量のための計量アクションリストをインスタンス化する。次いで、createActionList()は、データベースのアクションレコードテーブルから、その呼び出しパラメータに一致するユーザIDおよび計量IDを有するレコードを検索する。テーブル内の一致する各レコードごとに、createActionList()は、そのスイッチステートメントによってアクションオブジェクトをインスタンス化する。スイッチステートメントは、アクションレコードテーブルから検索した各アクションIDごとに特定の具体的な導出アクションクラスを選択する。createActionList()は、「anActionList.add()」によってアクションリストに各アクションオブジェクトに対する参照を格納する。createActionList()は、「return andActionList」によってアクションリストに対する参照を戻す。 The createActionList () method in the ActionService class instantiates a weighing action list for user weighing by “ActionList anActionList = newActionList ()”. Next, createActionList () searches the action record table of the database for a record having a user ID and a metric ID that match the call parameter. For each matching record in the table, createActionList () instantiates an action object with its switch statement. The switch statement selects a specific concrete derived action class for each action ID retrieved from the action record table. createActionList () stores a reference to each action object in the action list by "anActionList.add ()". createActionList () returns a reference to the action list by "return and ActionList".
図3のクラス図は、例示的なアクションクラス(216)を含む。アクションクラスのインスタンスは、実行されると結果としてデバイスの管理を行うアクションを表す。図3の例示的なアクションクラスは、アクションIDフィールド(450)を含む。例示的なアクションクラス(216)のdoAction()メソッド(456)は、例えば、DeviceService.createDeviceList()に対する呼び出しから、デバイスリスト(458)を取得するようプログラムされる。また、Action.doAction()(456)は、通常、そのデバイスリストの各デバイスにおいてインタフェース方法を呼び出してデバイス制御アクションを実行するようプログラムされる。 The class diagram of FIG. 3 includes an exemplary action class (216). An instance of an action class represents an action for managing a device as a result when executed. The example action class of FIG. 3 includes an action ID field (450). The doAction () method (456) of the example action class (216) is programmed to obtain the device list (458) from a call to DeviceService.createDeviceList (), for example. Also, Action.doAction () (456) is normally programmed to execute the device control action by calling the interface method on each device in the device list.
図3のクラス図は、動的アクションリストサービスを含む。図3の動的アクションリストサービスは、メンバメソッドcreateDynamicList()(569)を含む。多くの実施形態において、createDynamicListは、ユーザ計量ベクトル内のメンバメソッドによって呼び出され、それらの対応する計量範囲の外にある特定の計量に関連した計量アクションリストから検索したアクションIDによってパラメータで表す。createDynamicListは、計量アクションリストから検索した計量IDに応じて識別したアクションIDを含む動的アクションリストを生成し、動的アクションリストに対する参照を呼び出し側に戻す。 The class diagram of FIG. 3 includes a dynamic action list service. The dynamic action list service of FIG. 3 includes a member method createDynamicList () (569). In many embodiments, createDynamicList is called by a member method in a user metric vector and is parameterized by an action ID retrieved from a metric action list associated with specific metrics that are outside their corresponding metric range. createDynamicList generates a dynamic action list including an action ID identified according to the metric ID retrieved from the metric action list, and returns a reference to the dynamic action list to the caller.
図3のクラス図は、デバイスサービスクラス(218)を含む。デバイスサービスクラスは、createDeviceList(actionID)という名前のファクトリメソッドを提供し、これは、デバイスのリストを生成し、リストに対する参照を戻す。個の例では、createDeviceList()は、上述のActionService.createActionList()と同様に動作し、デバイスリストをインスタンス化し、デバイステーブルで、一致するアクションIDエントリを有するデバイスレコードからデバイスIDを検索し、各々の具体的な導出デバイスクラスのデバイスオブジェクトをインスタンス化し、デバイスリストに、新しい各デバイスオブジェクトに対する参照を追加し、呼び出し側のアクションオブジェクトに、デバイスリストに対する参照を戻す。しかしながら、この例では、ファクトリメソッドcreateDeviceList()は、そのサポートするデータテーブルからデバイスIDを検索するだけでなく、以下の例示的な疑似コードに示すように、インスタンス化した各デバイスオブジェクトによって制御される物理的デバイスのネットワークアドレスまたは通信位置を検索する。
DeviceServiceクラスのcreateDeviceList()メソッドは、「DeviceList aDeviceList =newDeviceList()」によって計量のためのデバイスリストをインスタンス化する。次いで、createDeviceList()は、データベース内のデバイスレコードテーブルから、その呼び出しパラメータに一致するアクションIDを有するレコードを検索する。テーブル内の一致する各レコードごとに、createDeviceList()は、そのスイッチステートメントによってデバイスオブジェクトをインスタンス化し、3つのパラメータすなわちCommsService、deviceAddress、およびdeviceIDを渡す。CommsServiceは、通信サービスに対する参照であり、ここから、デバイスオブジェクトは、デバイスオブジェクトが制御する物理的デバイスとの通信に用いる通信オブジェクトに対する参照を得ることができる。deviceAddressは、ネットワークアドレスであり、特定のデバイスオブジェクトが制御する物理的デバイスの上述のようなデバイステーブルから得られる。スイッチステートメントは、デバイステーブルから検索した各デバイスIDごとに特定の具体的な導出デバイスクラスを選択する。createDeviceList()は、「aDeviceList.add()」によってデバイスリストの各デバイスオブジェクトに対する参照を格納する。createDeviceList()は、「return aDeviceList」によって、デバイスリストに対する参照を戻す。 The createDeviceList () method of the DeviceService class instantiates a device list for measurement by “DeviceList aDeviceList = newDeviceList ()”. Next, createDeviceList () searches the device record table in the database for a record having an action ID that matches the call parameter. For each matching record in the table, createDeviceList () instantiates a device object with its switch statement and passes three parameters: CommsService, deviceAddress, and deviceID. CommsService is a reference to a communication service, from which a device object can obtain a reference to a communication object used for communication with a physical device controlled by the device object. deviceAddress is the network address and is obtained from the device table as described above for the physical device controlled by the particular device object. The switch statement selects a specific specific derived device class for each device ID retrieved from the device table. createDeviceList () stores a reference to each device object in the device list by “aDeviceList.add ()”. createDeviceList () returns a reference to the device list by "return aDeviceList".
図3のクラス図は、例示的なデバイスクラス(214)を含む。図3の例示的なデバイスクラス(214)は、アクションの実行によって管理される物理的デバイスを一意に識別するdeviceIDフィールド(472)を含む。図3の例示的なデバイスクラス(214)は、データ通信ネットワーク上の物理的デバイスの位置を識別するアドレスフィールド(480)を含む。図3の例示的なデバイスクラス(214)は、デバイスクラスのインスタンスと物理的デバイスとの間の通信を行うためにデータ通信プロトコルを実施する通信クラスのインスタンスに対する参照のための通信フィールド(478)を提供する。 The class diagram of FIG. 3 includes an exemplary device class (214). The example device class (214) of FIG. 3 includes a deviceID field (472) that uniquely identifies the physical device managed by the execution of the action. The example device class (214) of FIG. 3 includes an address field (480) that identifies the location of the physical device on the data communications network. The example device class (214) of FIG. 3 includes a communication field (478) for reference to an instance of a communication class that implements a data communication protocol to communicate between the device class instance and a physical device. I will provide a.
図3のデバイスクラスは、デバイスの現在の属性値を含む属性フィールド(481)を含む。デバイスの現在の属性の例は、デバイスが「オン」または「オフ」であることの指示である。現在の属性の他の例は、デバイスの特定の設定を示す値を含む。また、図3のデバイスクラスは、物理的デバイスの属性を取得および設定するためのアクセス機構方法(474、476)を含む。図3の例示的なデバイスクラスは、1つのみの属性フィールドと、その属性を取得および設定するためのアクセス機構方法とを含むが、本発明の方法を実施する際に有用な多くのデバイスクラスは、2つ以上の属性をサポートすることができる。また、かかるクラスは、デバイスクラスがサポートする各属性の属性IDフィールドと、その属性を取得および設定するためのアクセッサメソッドとを含むことができる。 The device class of FIG. 3 includes an attribute field (481) that contains the current attribute value of the device. An example of a current attribute of a device is an indication that the device is “on” or “off”. Other examples of current attributes include values that indicate specific settings of the device. The device class of FIG. 3 also includes an access mechanism method (474, 476) for obtaining and setting physical device attributes. The exemplary device class of FIG. 3 includes only one attribute field and an access mechanism method for obtaining and setting that attribute, but many device classes useful in implementing the method of the present invention. Can support more than one attribute. Such a class can also include an attribute ID field for each attribute supported by the device class and an accessor method for obtaining and setting the attribute.
図3の例示的なクラス図は、通信サービスクラス(219)を含む。通信サービスクラス(219)は、デバイスクラスのインスタンスと物理的デバイスとの間の通信を実行するためのデータ通信プロトコルを実施する通信オブジェクトをインスタンス化するcreateCommsObject(deviceID, networkAddress)(574)という名前のファクトリメソッドを提供する。createCommsObject()メソッド(574)は、その呼び出しパラメータに一致するデバイスIDを有する通信クラステーブル内の通信クラスレコードで通信クラスIDを検索する。多くの実施形態では、createCommsObject()メソッド(574)は、上述のようにスイッチステートメントによって識別された特定の具体的な導出通信クラスをインスタンス化し、コンストラクタに、そのパラメータリストからnetworkAddressを渡すので、新しい通信オブジェクトは、その新しいオブジェクトがデータ通信を行うネットワーク上のアドレスを知っている。具体的な各導出通信クラスは、特定のデータ通信プロトコル、Bluetooth、802.11b、LonWorks、X−10等の特定のデータ通信プロトコルに従ってデータ通信を行うように設計されている。 The example class diagram of FIG. 3 includes a communication service class (219). The communication service class (219) is named createCommsObject (deviceID, networkAddress) (574) that instantiates a communication object that implements a data communication protocol for performing communication between an instance of a device class and a physical device. Provide factory methods. The createCommsObject () method (574) searches for the communication class ID in the communication class record in the communication class table having the device ID that matches the call parameter. In many embodiments, the createCommsObject () method (574) instantiates a specific concrete derived communication class identified by the switch statement as described above and passes the networkAddress from its parameter list to the constructor, so the new The communication object knows the address on the network where the new object communicates data. Each specific derived communication class is designed to perform data communication according to a specific data communication protocol, such as a specific data communication protocol, Bluetooth, 802.11b, LonWorks, X-10, or the like.
図3のクラス図は、例示的な通信ベースクラス(215)を含む。典型的な実施形態では、少なくとも1つの具体的な通信クラスを、特定のDMLがサポートする各データ通信プロトコルごとに、ベースクラスから導出する。具体的な各通信クラスは、通信デバイスオブジェクトおよび物理的デバイスのための特定のデータ通信プロトコルを実施する。具体的な各通信クラスは、インタフェースメソッド(482、484)を無効にすることによって特定のデータ通信プロトコルを実施して、プロトコルに従った実際のデータ通信を実施する。 The class diagram of FIG. 3 includes an exemplary communication base class (215). In an exemplary embodiment, at least one specific communication class is derived from the base class for each data communication protocol supported by a particular DML. Each specific communication class implements a specific data communication protocol for communication device objects and physical devices. Each specific communication class implements a specific data communication protocol by invalidating the interface method (482, 484), and performs actual data communication according to the protocol.
通信クラスによって、デバイスクラス(214)は、様々な物理的デバイスとの通信に必要な特定のプロトコルに関して独立して動作することができる。例えば、ユーザの家のある照明は、LonWorksプロトコルを用いて通信を行うことができるが、ユーザの家の別の照明は、X−10プロトコルを用いて通信を行うことができる。双方の照明は、一方がLonWorksを実施し他方がX−10を実施する異なる通信クラスの通信オブジェクトを用いて、同じデバイスクラスのデバイスオブジェクトによって制御することができる。双方のデバイスオブジェクトは、同じ通信クラスインタフェースメソッド、send()(482)およびreceive()(484)に対する呼び出しによって照明を制御し、実際にそれらの通信オブジェクトが異なるプロトコルを用いることを知らないし、気にもしない。 Depending on the communication class, the device class (214) can operate independently with respect to the particular protocol required for communication with the various physical devices. For example, one lighting in the user's home can communicate using the LonWorks protocol, while another lighting in the user's home can communicate using the X-10 protocol. Both lights can be controlled by device objects of the same device class, with communication objects of different communication classes, one implementing LonWorks and the other implementing X-10. Both device objects control lighting by calls to the same communication class interface methods, send () (482) and receive () (484), and do not know that these communication objects actually use different protocols. Don't do it.
図4は、図3の例示的なクラス間の例示的な関係を示すクラス関係図である。図4のクラス関係図では、実線の矢印はインスタンス化を表す。実線の矢印は、インスタンス化しているクラスからインスタンス化されているクラスを指し示す。図4のクラス関係図では、点線の矢印は参照を表す。矢印は、参照されるクラスから、この参照されるクラスに対する参照をオブジェクトが有するクラスを指し示す。すなわち、点線の矢印によって、複合のオブジェクト指向関係すなわちクラス間の「has−a」関係が示される。 FIG. 4 is a class relationship diagram illustrating an exemplary relationship between the exemplary classes of FIG. In the class relationship diagram of FIG. 4, solid arrows represent instantiation. A solid arrow points to a class being instantiated from a class being instantiated. In the class relationship diagram of FIG. 4, dotted arrows represent references. The arrow points from the referenced class to the class in which the object has a reference to this referenced class. That is, a dotted arrow indicates a complex object-oriented relationship, ie, a “has-a” relationship between classes.
図4の例示的なクラス関係図は、DMLクラス(202)を含む。DMLクラス(202)のDMLオブジェクトは、計量サービスクラス(204)のオブジェクト、計量ベクトルサービスクラス(207)のオブジェクト、および計量空間サービスクラス(209)のオブジェクトをインスタンス化する。また、DMLオブジェクトは、計量範囲サービスクラス(208)のオブジェクト、アクションサービスクラス(217)のオブジェクト、および動的アクションリストサービスクラス(211)のオブジェクトをインスタンス化する。また、DMLオブジェクトは、デバイスサービスクラス(218)のオブジェクトおよび通信サービスクラス(219)のオブジェクトをインスタンス化する。DMLが計量センサから計量(200)を受信すると、DMLは以下のような呼び出しを用いる。
図4のクラス関係図に示すように、計量ベクトルサービス(207)は、計量ベクトルクラス(606)のオブジェクトをインスタンス化する。多くの実施形態において、計量ベクトルサービスクラスは、計量オブジェクトに対する参照を受信し、createMetricVectorObject()等のパラメータで表したファクトリメソッドを用いて、計量ベクトルオブジェクトをインスタンス化する。図4のクラス関係図に示すように、計量ベクトルクラス(606)のオブジェクトは、計量クラス(206)のオブジェクトに対する参照、計量空間サービスクラス(209)のオブジェクト、計量空間クラス(610)のオブジェクト、動的アクションリストサービスクラス(211)のオブジェクトおよび動的アクションリスト(212626)を含む。 As shown in the class relationship diagram of FIG. 4, the metric vector service (207) instantiates an object of the metric vector class (606). In many embodiments, the metric vector service class receives a reference to a metric object and instantiates the metric vector object using a factory method represented by parameters such as createMetricVectorObject (). As shown in the class relationship diagram of FIG. 4, the objects of the metric vector class (606) are references to the objects of the metric class (206), objects of the metric space service class (209), objects of the metric space class (610), It includes objects of dynamic action list service class (211) and dynamic action list (212626).
図4のクラス関係図に示すように、計量空間サービス(209)は、計量空間クラス(610)のオブジェクトをインスタンス化する。多くの例示的な実施形態では、計量空間サービスは、createMetricSpace()等のパラメータで表したファクトリメソッドを用いて、計量空間オブジェクトをインスタンス化する。計量空間サービスは、計量ベクトルオブジェクトに、計量空間オブジェクト(610)に対する参照を渡す。計量空間オブジェクト(610)は、計量範囲クラス(210)のオブジェクトに対する参照を含む。図4のクラス関係図に示すように、計量範囲サービス(208)は、計量範囲クラス(210)のオブジェクトをインスタンス化する。本発明の多くの例示的な実施形態では、計量範囲サービス(208)は、createRangeObject()等のパラメータで表したファクトリメソッドを用いて、計量範囲(210)をインスタンス化する。計量範囲サービス(208)は、計量範囲(210)に対する参照を、計量空間サービス(209)に渡す。 As shown in the class relationship diagram of FIG. 4, the metric space service (209) instantiates an object of the metric space class (610). In many exemplary embodiments, the metric space service instantiates a metric space object using a factory method represented by parameters such as createMetricSpace (). The metric space service passes a reference to the metric space object (610) to the metric vector object. The metric space object (610) contains a reference to an object of the metric range class (210). As shown in the class relationship diagram of FIG. 4, the metric range service (208) instantiates an object of the metric range class (210). In many exemplary embodiments of the invention, the metric range service (208) instantiates the metric range (210) using a factory method represented by parameters such as createRangeObject (). The weighing range service (208) passes a reference to the weighing range (210) to the weighing space service (209).
図4のクラス関係図に示すように、アクションサービス(217)は、計量アクションリスト(622)およびアクションクラス(216)のオブジェクトをインスタンス化する。計量アクションリスト(622)は、インスタンス化したアクション(216)の各々に対する参照によってインスタンス化される。各アクション(216)は、デバイスサービス(218)に対する参照によってインスタンス化される。本発明による方法の典型的な例では、アクションサービス(217)は、createActionList()等のパラメータによって表したファクトリメソッドを用いて、計量アクションリスト(622)をインスタンス化し、アクション(216)をインスタンス化する。アクションサービス(217)は、計量アクションリスト(622)に対する参照を、計量(206)に渡す。 As shown in the class relationship diagram of FIG. 4, the action service (217) instantiates objects of the metric action list (622) and the action class (216). The metric action list (622) is instantiated by reference to each of the instantiated actions (216). Each action (216) is instantiated by reference to a device service (218). In a typical example of a method according to the present invention, the action service (217) instantiates a metric action list (622) and instantiates an action (216) using a factory method represented by parameters such as createActionList (). To do. The action service (217) passes a reference to the metric action list (622) to the metric (206).
図4に示すように、動的アクションリストサービス(211)は、動的アクションリスト(626)をインスタンス化し、動的アクションリスト(626)に対する参照を、計量ベクトル(606)の呼び出しメソッドに渡す。本発明による方法の典型的な例では、動的アクションリストサービス(211)は、createDynamicActionList()等のメソッドを用いて、動的アクションリストをインスタンス化する。多くの実施形態では、createDynamicActionList()は、それらの対応する計量範囲の外にあるユーザ計量に関連した計量アクションリストのアクションIDによってパラメータで表される。動的アクションリスト(626)は、アクションクラス(216)のオブジェクトに対する参照を有する。 As shown in FIG. 4, the dynamic action list service (211) instantiates the dynamic action list (626) and passes a reference to the dynamic action list (626) to the calling method of the metric vector (606). In a typical example of the method according to the invention, the dynamic action list service (211) instantiates a dynamic action list using a method such as createDynamicActionList (). In many embodiments, createDynamicActionList () is parameterized by the action ID of a metric action list associated with user metrics that are outside their corresponding metric range. The dynamic action list (626) has a reference to an object of the action class (216).
図4の例では、デバイスサービス(218)は、デバイスリストクラス(222)のデバイスリストをインスタンス化し、デバイスクラス(214)のデバイスオブジェクトをインスタンス化する。デバイスリスト(222)は、デバイスオブジェクト(214)に対する参照によってインスタンス化される。デバイスオブジェクト(214)は、通信サービス(219)に対する参照によってインスタンス化される。本発明による方法の典型的な例では、デバイスサービス(218)は、createDeviceList()等のパラメータで表したファクトリメソッドを用いて、デバイスリスト(222)をインスタンス化し、デバイスオブジェクト(216)をインスタンス化する。デバイスサービス(218)は、デバイスリスト(222)に対する参照を、アクション(216)に渡す。 In the example of FIG. 4, the device service (218) instantiates a device list of the device list class (222) and instantiates a device object of the device class (214). The device list (222) is instantiated by reference to the device object (214). The device object (214) is instantiated by reference to the communication service (219). In a typical example of the method according to the invention, the device service (218) instantiates a device list (222) and instantiates a device object (216) using a factory method represented by parameters such as createDeviceList (). To do. The device service (218) passes a reference to the device list (222) to the action (216).
図4の例では、通信サービス(219)は、通信クラス(215)の通信オブジェクトをインスタンス化する。本発明による方法の典型的な例では、通信サービス(219)は、createCommsObject()等のパラメータで表したファクトリメソッドを用いて、通信オブジェクト(215)をインスタンス化する。通信サービス(219)は、通信オブジェクト(215)に対する参照を、デバイスオブジェクト(214)に渡す。 In the example of FIG. 4, the communication service (219) instantiates a communication object of the communication class (215). In a typical example of the method according to the present invention, the communication service (219) instantiates the communication object (215) using a factory method represented by a parameter such as createCommsObject (). The communication service (219) passes a reference to the communication object (215) to the device object (214).
図5は、図3のクラスのいくつかの間の例示的な関係を示すクラス関係図である。図5の例では、DMLクラス(202)のオブジェクトは、関連計量サービスクラス(684)のオブジェクトをインスタンス化する。関連計量サービスクラスは、計量キャッシュで利用可能なユーザ計量(206)に対する参照を有する。 FIG. 5 is a class relationship diagram illustrating exemplary relationships between some of the classes of FIG. In the example of FIG. 5, the object of the DML class (202) instantiates the object of the related metric service class (684). The associated metric service class has a reference to the user metric (206) available in the metric cache.
関連計量サービスクラス(684)は、計量キャッシュ内のユーザ計量に応じて関連計量クラス(664)のオブジェクトをインスタンス化するか、または、計量キャッシュ内のユーザ計量に応じて予め生成した関連計量を選択する。関連計量は、計量アクションリスト(622)に対する参照を有する。計量ベクトルは、関連計量サービスから、関連計量(664)に対する参照を受け取る。 The related metric service class (684) instantiates an object of the related metric class (664) according to the user metric in the metric cache, or selects a previously generated related metric according to the user metric in the metric cache. To do. The associated metric has a reference to the metric action list (622). The metric vector receives a reference to the associated metric (664) from the associated metric service.
ユーザ計量に応じたデバイス管理
図6は、例示的なデバイス管理方法を示すデータフロー図である。図6の方法は、ユーザ計量(206)の受け取り(302)を含む。上述のように、「ユーザ計量」は、ユーザ状況の指示を記述するデータから成る。「ユーザ状況の指示」は、ユーザ状況の定量化可能な特徴であり、その特徴を測定する量である。ユーザの状況の定量化可能な特徴の例は、体温、心拍数、血圧、位置、皮膚電気反応、および当業者に想起される他の特徴を含む。
Device Management According to User Metrics FIG. 6 is a data flow diagram illustrating an exemplary device management method. The method of FIG. 6 includes receiving (302) a user metric (206). As described above, the “user metric” is composed of data describing an instruction of a user situation. “Instruction of user situation” is a quantifiable feature of the user situation and is an amount for measuring the feature. Examples of quantifiable features of the user's situation include body temperature, heart rate, blood pressure, location, electrodermal response, and other features that will occur to those skilled in the art.
本発明の典型的な実施形態において、ユーザ計量は、図6の例示的なユーザ計量(206)等、ユーザ計量データ構造またはレコード(206)として実施される。図6のユーザ計量は、計量によって状況の指示が表されるユーザを識別するuserIDフィールド(405)を含む。また、図6のユーザ計量(206)は、例えば、血圧、心拍数、位置、皮膚電気反応等の計量が表すユーザ状況の特徴を識別する計量IDフィールド(407)を含む。また、ユーザ計量(204)は、計量が表すユーザ状況の特徴の値を含む値フィールド(409)を含む。計量の値の例は、華氏100度の体温である。 In an exemplary embodiment of the invention, user metrics are implemented as user metric data structures or records (206), such as the exemplary user metric (206) of FIG. The user metric in FIG. 6 includes a userID field (405) that identifies the user whose status indication is represented by the metric. The user metric (206) in FIG. 6 includes a metric ID field (407) that identifies the characteristics of the user situation represented by the metric such as blood pressure, heart rate, position, and electrical skin response. The user metric (204) also includes a value field (409) that contains the value of the user situation feature represented by the metric. An example of a metric value is a body temperature of 100 degrees Fahrenheit.
図6の方法の多くの実施形態では、ユーザの計量の受け取り(302)は、計量センサ(406)からユーザ計量を受け取ることを含む。図6の方法のいくつかの例では、計量センサ(406)は、ユーザ状況の指示を読み取り、ユーザ状況の指示に応じてユーザ計量を生成し、ユーザ計量をDMLに送信する。多くの実施形態では、計量センサは、例えば、Bluetooth、802.11、HTTP、WAP等のプロトコル、または当業者に想起される他のいずれかのプロトコルを用いて、図6の計量(206)等の既定のデータ構造で、ユーザ計量をDMLに送信する。 In many embodiments of the method of FIG. 6, receiving a user metric (302) includes receiving a user metric from a metric sensor (406). In some examples of the method of FIG. 6, the metric sensor (406) reads a user status indication, generates a user metric in response to the user status indication, and transmits the user metric to the DML. In many embodiments, the metering sensor can be configured using, for example, a protocol such as Bluetooth, 802.11, HTTP, WAP, or any other protocol that will occur to those skilled in the art, such as the metering (206) of FIG. Send user metrics to DML with default data structure.
図6の方法では、ユーザ計量の受け取り(302)は、ユーザ計量を計量キャッシュメモリ(305)内に受け取ることを含む。すなわち、ユーザ計量は、DMLによって受信され、次いでキャッシュに格納される。図6の方法の多くの実施形態では、計量キャッシュメモリ(305)は、DMLに利用可能なキャッシュメモリであり、本発明によるデバイス管理のステップの実行を容易にする。 In the method of FIG. 6, receiving user metrics (302) includes receiving user metrics in a metric cache memory (305). That is, user metrics are received by the DML and then stored in the cache. In many embodiments of the method of FIG. 6, the metric cache memory (305) is a cache memory available for DML, facilitating the execution of device management steps according to the present invention.
図6の方法は、ユーザ計量の値が規定の計量範囲の外である(309)か否かの判定(306)を含む。規定の計量範囲は、特定ユーザの所与の計量IDについて所定範囲の値を含む。図6の方法の多くの実施形態では、既定の計量範囲は、ユーザのための典型的または通常の計量値範囲として設計される。既定の計量範囲の1例は、毎分65から85の休息時の心拍数を表す計量値範囲である。 The method of FIG. 6 includes a determination (306) whether the value of the user metric is outside the specified metric range (309). The specified metric range includes a predetermined range of values for a given metric ID for a particular user. In many embodiments of the method of FIG. 6, the predetermined metric range is designed as a typical or normal metric value range for the user. One example of a predetermined metering range is a metered value range that represents a resting heart rate of 65 to 85 per minute.
図6の方法の多くの例では、ユーザの既定計量範囲は、図6の計量範囲(210)等のデータ構造またはレコードとして実施される。図6の計量範囲は、ユーザ計量の種類を識別する計量IDフィールド(462)を含む。図6の計量範囲は、計量範囲が計量値範囲を表すユーザを識別するユーザIDフィールド(464)を含む。図6の計量範囲は、例えば、計量範囲の最大計量値を表すMaxフィールド(468)および、計量範囲の最小計量値を表すMinフィールド(470)を含む。すなわち、典型的な実施形態では、計量値範囲を規定するのは、範囲の最大および最小の計量値である。 In many examples of the method of FIG. 6, the user's default metric range is implemented as a data structure or record, such as the metric range (210) of FIG. The metric range of FIG. 6 includes a metric ID field (462) that identifies the type of user metric. The metric range of FIG. 6 includes a user ID field (464) that identifies the user whose metric range represents the metric value range. The metric range of FIG. 6 includes, for example, a Max field (468) representing the maximum metric value of the metric range and a Min field (470) representing the minimum metric value of the metric range. That is, in an exemplary embodiment, it is the maximum and minimum metric values of the range that define the metric value range.
多くの実施形態では、ユーザ計量(206)の値が既定計量範囲の外である(309)か否かの判定(306)は、ユーザ計量の計量値を、その計量の同じユーザの計量範囲の最大および最小値と比較することを含む。図6の方法の多くの例では、ユーザ計量が既定計量範囲の外であるという判定は、ユーザ計量(206)の計量値(409)が、計量範囲(210)の最大値(468)よりも大きいこと、または計量範囲(210)の最小値(470)よりも小さいことの判定を含む。例えば、「心拍数」として計量を識別する計量IDのユーザ計量は、毎分100回の心拍数という計量値を有する場合、毎分65から85回という休息時心拍数の例示的な計量範囲の外である。 In many embodiments, the determination (306) of whether the value of the user metric (206) is outside of the default metric range (309), the metric value of the user metric is determined for the same user metric range of the metric. Includes comparing with maximum and minimum values. In many examples of the method of FIG. 6, the determination that the user metric is outside the default metric range is that the metric value (409) of the user metric (206) is greater than the maximum value (468) of the metric range (210). It includes the determination of being greater than or less than the minimum value (470) of the weighing range (210). For example, a user metric with a metric ID that identifies the metric as “heart rate” has a metric value of 100 heartbeats per minute, with an exemplary metric range of resting heart rates of 65 to 85 per minute. Outside.
ユーザ計量の値が計量範囲外である場合、図6の方法は、ユーザ計量に応じるアクションの識別(310)を含む。アクションは、実行されると1つ以上のデバイスを制御する1つ以上のコンピュータプログラム、サブルーチン、またはメンバメソッドを含む。アクションは通常、オブジェクト指向クラスとして実施され、オブジェクトまたはオブジェクトに対する参照として操作される。実際、本明細書中では、文脈によって他の意味が示されない限り、「アクション」、「アクションオブジェクト」、および「アクションオブジェクトに対する参照」という語は、多かれ少なかれ同意語である。図6の方法の多くの実施形態では、アクションオブジェクトは、デバイスクラスのメンバメソッドを呼び出し、物理的デバイスの現在の属性に影響を与える。図6の方法の多くの実施形態では、アクションクラスまたはアクションオブジェクトは、OSGiバンドルでサービスゲートウエイ上のDMLに展開される。 If the value of the user metric is outside the metric range, the method of FIG. 6 includes identifying the action responsive to the user metric (310). An action includes one or more computer programs, subroutines, or member methods that, when executed, control one or more devices. Actions are usually implemented as object-oriented classes and are manipulated as objects or references to objects. Indeed, in this document, the terms “action”, “action object”, and “reference to an action object” are more or less synonymous unless the context indicates otherwise. In many embodiments of the method of FIG. 6, the action object invokes a member method of the device class and affects the current attributes of the physical device. In many embodiments of the method of FIG. 6, action classes or action objects are deployed in the DML on the service gateway in an OSGi bundle.
図6の方法では、アクションの識別(310)は、ユーザIDおよび計量IDによって構成された計量アクションリスト(622)からアクションID(315)を受信すること(365)を含む。図6の方法では、計量アクションリストからのアクションIDの検索は、特定の計量IDおよび特定のユーザの計量値がユーザの所定計量範囲の外である場合に実行されるアクションの識別子(「アクションID」)のリストからの検索を含む。アクションリストは、例えば、Javaリストコンテナとして、ランダムアクセスメモリ内のテーブルとして、ハードドライブまたはCD ROM上の記憶領域を有するSQLデータベーステーブルとして、更に、当業者に想起される他の方法で、実施することができる。 In the method of FIG. 6, identifying an action (310) includes receiving (365) an action ID (315) from a metric action list (622) configured with a user ID and a metric ID. In the method of FIG. 6, the action ID retrieval from the weighing action list is performed when the specific weighing ID and the specific user weighing value are outside the predetermined weighing range of the user (“action ID”). )) Search from the list. The action list can be implemented, for example, as a Java list container, as a table in random access memory, as a SQL database table with storage on a hard drive or CD ROM, and in other ways as will occur to those skilled in the art be able to.
上述のように、アクション自体はソフトウエアから成るので、例えば、コンパイル時にDMLにインポートされ、従ってDML実行時に常に利用可能なJavaパッケージにおいて具現化される具体的なアクションクラスとして、実施することができる。従って、アクション(312)の実行(314)は、かかる実施形態において、DMLのswitch()statementの使用によって実行されることが多い。かかるswitch()statementステートメントは、アクションIDに応じて動作し、例えば、以下の疑似コードセグメントによって示されるように実施することができる。
例示的なスイッチステートメントは、アクションIDに応じて実行する特定のデバイス制御オブジェクトを選択する。この例においてswitch()が管理するデバイス制御オブジェクトは、actionNumber1、actionNumber2等という名前の具外的なアクションクラスであり、各々は、「take_action()」という名前の実行可能メンバメソッドを有し、各アクションクラスが実施する実際のワークを実行する。 The example switch statement selects a specific device control object to execute according to the action ID. The device control objects managed by switch () in this example are external action classes named actionNumber1, actionNumber2, etc., each having an executable member method named "take_action ()" The actual work performed by the action class is executed.
また、アクション(312)の実行(314)は、かかる実施形態において、DMLにおけるハッシュテーブルの使用によって実行されることが多い。かかるハッシュテーブルは、以下の疑似コードの例に示すように、アクションIDによって入力されるアクションオブジェクトに対する参照を格納することができる。この例は、アクションサービスが、アクションIDをキーとして用いて、特定の計量IDに関連付けた具体的なアクションクラスのオブジェクトに対する参照であるアクションのハッシュテーブルを生成することによって開始する。多くの実施形態では、かかるハッシュテーブルを作成し、それに特定の計量IDに関連付けたアクションオブジェクトに対する参照を入れ、ハッシュテーブルに対する参照を呼び出し側計量オブジェクトに戻すのは、アクションサービスである。
特定のアクションの実行は、以下の疑似コードに従って実行することができる。
本明細書中の多くの実施形態は、リストと共に、多くの場合アクションのリストと共に記載し、これらは、例えば、アクションサービスから、リストに対する参照と共に戻される。多くの場合、リストは、ハッシュテーブルと同様に機能する。例えば特定のアクションの実行は、以下の疑似コードに従って実行することができる。
特定のアクションの実行は、以下の疑似コードに従って実行することができる。
上述の3つの例は、スイッチステートメント、ハッシュテーブル、およびリストオブジェクトを用いて、本発明の実施形態によるアクションの実行を説明する。これらの例におけるスイッチステートメント、ハッシュテーブル、およびリストオブジェクトの使用は、限定ではなく説明のためである。実際、当業者に想起されるように、本発明の実施形態に従ってアクションを実行する多くの方法があり、かかる方法は全て本発明の範囲内である。 The three examples above illustrate the execution of actions according to embodiments of the present invention using switch statements, hash tables, and list objects. The use of switch statements, hash tables, and list objects in these examples is for purposes of illustration and not limitation. In fact, as will occur to those skilled in the art, there are many ways of performing actions in accordance with embodiments of the present invention, all of which are within the scope of the present invention.
図7は、アクションを実行する例示的な方法を示すデータフロー図を示す。図7の方法では、アクションの実行は、アクションが管理する物理的デバイス(316)を表すデバイスクラス(214)の識別(380)を含む。典型的なデバイスクラスは、デバイスを管理するメンバメソッドを含む。デバイスを管理する典型的なメンバメソッドは、物理的デバイスのデバイス属性値を取得および設定するためのメンバメソッドを含む。例えば、多くの設定の光強度をサポートするランプの場合、デバイスクラスのメンバメソッドget()は、ランプから光強度の値を取得することができ、デバイスクラスのメンバメソッドset()は、ランプの光強度を設定する。 FIG. 7 shows a data flow diagram illustrating an exemplary method for performing an action. In the method of FIG. 7, execution of the action includes identification (380) of a device class (214) that represents the physical device (316) that the action manages. A typical device class includes member methods for managing devices. Typical member methods for managing devices include member methods for getting and setting device attribute values of physical devices. For example, for a lamp that supports many settings of light intensity, the device class member method get () can obtain the value of the light intensity from the lamp, and the device class member method set () Set the light intensity.
図7の方法では、アクションの実行は、物理的デバイス(316)のための通信クラス(215)の識別(384)を含む。デバイスクラスのメンバメソッドが物理的デバイスに通信するためには、通信クラスは、物理的デバイスと通信するためのプロトコルを実施する。典型的な通信クラスは、通信クラスが実施するプロトコルに従ってデータ通信メッセージを構築、送信、および受信するメンバメソッドを含む。通信クラスのメンバメソッドは、物理的デバイスとの間でデータ通信メッセージを送信および受信する。通信クラスは、デバイス上で実施されるアクションから物理的デバイスと通信するために用いるプロトコルを分離すると有利であり、このため、例えばget()およびset()を備えるデバイスクラスインタフェースは、デバイスクラスを再プログラムする必要なく、また、物理的デバイスおよびプロトコルの各組み合わせごとに1つのデバイスクラスを提供する必要なく、データ通信プロトコルのいずれかを用いて物理的デバイスと通信可能であると有用である。 In the method of FIG. 7, performing the action includes identifying (384) the communication class (215) for the physical device (316). In order for a member method of a device class to communicate with a physical device, the communication class implements a protocol for communicating with the physical device. A typical communication class includes member methods that construct, send, and receive data communication messages according to the protocol implemented by the communication class. The communication class member methods send and receive data communication messages to and from the physical device. The communication class advantageously separates the protocol used to communicate with the physical device from the actions performed on the device, so a device class interface with eg get () and set () It would be useful to be able to communicate with a physical device using any of the data communication protocols without having to reprogram and without having to provide one device class for each combination of physical device and protocol.
更に詳しい説明のため、以下の簡単な使用の場合を考える。ユーザの計量センサが、毎分100回のユーザの心拍数を読み、ユーザを識別するユーザID、「心拍数」として計量を識別する計量ID、および100の計量値を有するユーザの計量を生成する。計量センサは、このユーザ計量を、サービスゲートウエイを介してDMLに送信する。DMLはユーザ計量を受信し、このユーザ計量を、65から85回の範囲を有する休息時心拍数のユーザ計量範囲と比較する。DMLは、ユーザ計量が既定計量範囲の外であると判定する。DMLは、ユーザの心拍数計量値が、ユーザの心拍数の計量範囲外であるという判定に応答して、ユーザIDおよび計量IDを用いて、リストから、実行する既定アクションのアクションIDを検索する。DMLは、例えば「someAction」のクラス名を有し、更に、switch()ステートメントにおいて上述したtake_action()方法等、DMLに既知のインタフェースメンバメソッドを有するアクションオブジェクトを識別するデバイス制御アクションIDを検索する。 For a more detailed explanation, consider the following simple use case. The user's metric sensor reads the user's heart rate 100 times per minute and generates a user metric having a user ID identifying the user, a metric ID identifying the metric as “heart rate”, and a metric value of 100 . The metering sensor transmits this user metering to the DML via the service gateway. The DML receives the user metric and compares this user metric to a resting heart rate user metric range having a range of 65 to 85 times. The DML determines that the user metric is outside the default metric range. In response to determining that the user's heart rate metric is outside the user's heart rate metric range, the DML uses the user ID and metric ID to retrieve the action ID of the default action to perform from the list. . The DML has a class name of “someAction”, for example, and further searches for a device control action ID that identifies an action object having an interface member method known to the DML, such as the take_action () method described above in the switch () statement. .
この例では、DMLは、someAction.take_action()を呼び出すことによって識別されたアクションを実行する。この例におけるtake_action()メソッドは、アクションによって属性が影響を受ける物理的デバイスを表すデバイスオブジェクトに対する参照のリストのためにデバイスサービスを呼び出すようにプログラムされている。デバイスサービスは、switch()ステートメントによってプログラムされて、アクションIDに応じてデバイスオブジェクトに対する参照のリストを生成し、デバイスリストを呼び出し側アクションオブジェクトに、または、アクションオブジェクトにおける呼び出し側take_action()メソッドに戻す。 In this example, the DML performs the action identified by calling someAction.take_action (). The take_action () method in this example is programmed to invoke a device service for a list of references to device objects that represent physical devices whose attributes are affected by the action. The device service is programmed with a switch () statement to generate a list of references to the device object according to the action ID, and return the device list to the calling action object or to the calling take_action () method in the action object. .
デバイスリストの生成において、デバイスサービスは、リストに入力された参照を有する各デバイスをインスタンス化するようプログラムされ、コンストラクタパラメータとして、通信サービスに対する参照を渡す。このようにインスタンス化された各デバイスは、通信サービスにおいてパラメータで表したファクトリメソッドを呼び出すようプログラムされたコンストラクタパラメータを有し、パラメータとして、呼び出し側デバイスオブジェクトの識別子を渡す。通信サービスは、対応する物理的デバイスと通信するため、そのデバイスオブジェクトに必要な通信プロトコルのための通信オブジェクトに対する参照をインスタンス化し、デバイスに戻す。 In generating the device list, the device service is programmed to instantiate each device that has a reference entered in the list and passes a reference to the communication service as a constructor parameter. Each device instantiated in this way has a constructor parameter programmed to call the factory method represented by the parameter in the communication service, and passes the identifier of the calling device object as a parameter. In order to communicate with the corresponding physical device, the communication service instantiates a reference to the communication object for the communication protocol required for that device object and returns it to the device.
本発明の実施形態において、典型的にアクションを実行するための主な制御論理は、アクションクラスの主インタフェースメソッドおよびそれからインスタンス化されたオブジェクトにある。この例では、take_action()メソッドは、メソッド呼び出しの制御シーケンスを実行して、このアクションクラスが最初に開発された物理的デバイス上の変更を実行するようプログラムされている。take_action()メソッドは、そのデバイスリストのデバイスオブジェクトにおけるアクセス機構メソッド(set()およびget()メソッド)に対する一連の呼び出しによってこの機能を実行する。 In embodiments of the present invention, the main control logic for performing actions typically resides in the main interface method of the action class and the objects instantiated therefrom. In this example, the take_action () method is programmed to execute a control sequence of method calls to perform the changes on the physical device for which this action class was originally developed. The take_action () method performs this function by a series of calls to access mechanism methods (set () and get () methods) on the device objects in the device list.
図8は、ユーザ計量(206)が既定の計量範囲(210)外であることを判定する(306)例示的な方法を示すデータフロー図である。デバイス管理方法の多くの実施形態では、ユーザ計量(206)は、図8のユーザ計量レコード等、データ構造またはレコードとしてデータ内に表される。ユーザ計量(206)は、ユーザIDフィールド(405)、計量IDフィールド(407)、および値フィールド(409)を含む。 FIG. 8 is a data flow diagram illustrating an exemplary method for determining (306) that a user metric (206) is outside a predetermined metric range (210). In many embodiments of the device management method, the user metric (206) is represented in the data as a data structure or record, such as the user metric record of FIG. The user metric (206) includes a user ID field (405), a metric ID field (407), and a value field (409).
図8の例では、計量の既定の計量範囲は、図8の計量範囲(210)等の計量範囲としてデータに表される。例示的な計量範囲(210)は、特定の計量についての特定ユーザの最大範囲値(468)および最小範囲値(470)を示す。例示的な範囲についての特定のユーザおよび特定の計量は、ユーザIDフィールド(464)および計量IDフィールド(462)にそれぞれ識別される。 In the example of FIG. 8, the predetermined measurement range of the measurement is represented in the data as a measurement range such as the measurement range (210) of FIG. The exemplary metric range (210) shows a particular user's maximum range value (468) and minimum range value (470) for a particular metric. The specific user and specific metric for the exemplary range are identified in the user ID field (464) and the metric ID field (462), respectively.
図8の方法では、ユーザ計量(206)の値が既定の計量範囲(210)の外である(309)という判定(306)は、ユーザ計量(206)が既定の計量範囲(210)の外である(309)程度(504)の測定(502)を含む。本発明の多くの実施形態では、ユーザ計量(206)が計量範囲(210)の外である(309)程度(504)の測定(502)は、ユーザ計量値が計量範囲の最大計量値よりも大きい程度またはユーザ計量値が既定の計量範囲の最小値よりも小さい程度の識別を含む。計量が範囲外である程度の測定が、最大範囲値よりも大きいかまたは最小範囲値よりも小さいとして測定値を識別することを含む場合、測定は、例えば符号(+または−)、例えば「上」または「下」等の一覧指示、またはハイには真、ローには偽等のブール指示等、大きさと方向の指示の双方を含むと有利であることが多い。 In the method of FIG. 8, a determination (306) that the value of the user metric (206) is outside the predetermined metric range (210) (309) indicates that the user metric (206) is outside the predetermined metric range (210). Measurement (502) of about (309) (504). In many embodiments of the present invention, measurements (502) on the order of (309) (504), where the user metric (206) is outside the metric range (210), the user metric value is greater than the maximum metric value in the metric range. It includes identification to a greater extent or to the extent that the user metric value is less than the minimum value of the predetermined metric range. When the metric is out of range and some measurement includes identifying the measurement as being greater than the maximum range value or less than the minimum range value, the measurement is, for example, a sign (+ or −), eg “up” Alternatively, it is often advantageous to include both magnitude and direction indications, such as list indications such as “below” or Boolean indications such as true for high and false for low.
図8の方法では、ユーザ計量に応じたアクションの識別(310)は、ユーザ計量(206)の値が計量範囲外である(309)程度(504)に応じた、更に、多くの場合、計量が範囲外である方向に応じた、アクションの識別(512)を含む。図8の方法の多くの実施形態において、ユーザ計量が既定の計量範囲外である程度(504)に応じたアクションの識別(512)は、計量ID、ユーザID、程度、および方向によって構成された計量アクションリスト(622)からアクションIDを検索することを含む。 In the method of FIG. 8, the identification (310) of the action according to the user metric depends on the degree of (309) (504) that the value of the user metric (206) is outside the metric range. Includes identification (512) of the action as a function of the direction that is out of range. In many embodiments of the method of FIG. 8, the identification (512) of the action in response to the degree (504) that the user metric is outside of the predetermined metric range is a metric configured by the metric ID, user ID, degree, and direction. This includes retrieving an action ID from the action list (622).
本発明による多くのDMLにおいて、DMLがサポートするデバイスの全てにデバイスクラスがプレインストールされている。新しく取得された物理的デバイスは、それら自身をネットワーク上にあるとして識別し、DMLは、DML上にすでにインストールされているデバイスクラスにデバイスIDを関連付ける。かかる例示的な実施形態では、DMLは、デバイスIDをプレインストールされたデバイスクラスに関連付けることによってデバイスを識別する。 In many DMLs according to the present invention, device classes are pre-installed on all devices supported by the DML. Newly acquired physical devices identify themselves as being on the network, and the DML associates the device ID with a device class that is already installed on the DML. In such exemplary embodiments, the DML identifies the device by associating the device ID with a pre-installed device class.
関連計量を含むユーザ計量ベクトルに応じたデバイス管理および位置に基づくデバイス制御
図9は、本発明によるデバイス管理方法を示すデータフロー図である。図9の方法は、複数のユーザ計量(206)の受信(660)を含む。図9の方法の多くの実施形態において、複数の異なるユーザ計量(206)の受信(660)は、1つ以上の計量センサ(406)からの異なるユーザ計量の受信を含む。「異なる」ユーザ計量という語は、異なる種類のユーザ計量を意味する。すなわち、通常異なる計量値を有する、異なる種類のユーザ計量である。
Device management according to user metric vector including associated metrics and device control based on location FIG. 9 is a data flow diagram illustrating a device management method according to the present invention. The method of FIG. 9 includes receiving (660) a plurality of user metrics (206). In many embodiments of the method of FIG. 9, receiving (660) a plurality of different user metrics (206) includes receiving different user metrics from one or more metering sensors (406). The term “different” user metrics means different types of user metrics. That is, different types of user metrics that usually have different metric values.
図9の方法のいくつかの例では、計量センサ(406)は、ユーザ状況の指示を読み、ユーザ状況の指示に応じたユーザ計量を生成し、ユーザ計量をDMLに送信する。多くの例では、計量センサは、図3の計量(206)等の既定のデータ構造で、例えば、Bluetooth、802.11、HTTP、WAP等のプロトコル、または当業者に想起される他のいずれかのプロトコルを用いて、ユーザ計量をDMLに送信する。 In some examples of the method of FIG. 9, the metric sensor (406) reads the user status indication, generates a user metric in response to the user status indication, and transmits the user metric to the DML. In many instances, the metering sensor is a pre-defined data structure such as the metering (206) of FIG. 3, such as a protocol such as Bluetooth, 802.11, HTTP, WAP, or any other that will occur to those skilled in the art. The user metric is transmitted to the DML using the following protocol.
図9の方法は、複数のユーザ計量(206)に応じた関連計量(664)の生成(662)を含む。図9の方法の多くの例では、関連計量(664)は、複数のユーザ計量に応じて導出したか、または将来受信されるユーザ計量を予想して生成される、ユーザ状況の具体的な指示を表すデータ構造である。すなわち、図9の方法のいくつかの例では、関連計量は、計量キャッシュ内の複数のユーザ計量に応じて生成された計量である。例えば、「移動」のための関連計量は、位置についての少なくとも2つの他の計量から生成可能である。図9の方法の他の例では、関連計量は、計量キャッシュに受信されるユーザ計量を予想して予め生成される。これらの例の多くでは、計量キャッシュ内のユーザ計量が、既定の計量パターンを生成する既定の計量集合に一致する場合、ユーザのために予め生成された関連計量が選択される。関連計量の例は、ユーザの移動、ユーザの移動なし、回転、移動速度、生物測定値の上昇、生物測定値の低下、生物測定値の変化率、または当業者に想起される他のいずれかの関係を表す計量を含む。 The method of FIG. 9 includes generating (662) an associated metric (664) in response to a plurality of user metrics (206). In many examples of the method of FIG. 9, the associated metric (664) is derived in response to a plurality of user metrics or is generated in anticipation of a user metric received in the future, a specific indication of user status. Is a data structure representing That is, in some examples of the method of FIG. 9, the associated metric is a metric generated in response to a plurality of user metrics in the metric cache. For example, an associated metric for “movement” can be generated from at least two other metrics for position. In another example of the method of FIG. 9, the associated metric is pre-generated in anticipation of a user metric received in the metric cache. In many of these examples, if a user metric in the metric cache matches a predefined metric set that produces a predefined metric pattern, a pre-generated associated metric is selected for the user. Examples of related metrics are user movement, no user movement, rotation, speed of movement, biometric value increase, biometric value decrease, rate of change of biometric value, or any other that will occur to those skilled in the art Includes a metric representing the relationship.
関連計量は、多くの場合、単一の受信したユーザ計量において利用可能でないユーザ状況に関する情報を提供する。計量値を有する単一の受信ユーザ計量は、その計量の現在値のみを示すことが多い。違う言い方をすれば、単一のユーザ計量は、多くの場合、ユーザ状況の単一の特徴の断片を提供する。一方、関連計量は、多くの場合、アクション実行に応答して、いかにユーザ計量が変わっているか等のユーザ状況に関する更に別の情報、または当業者に想起される他の情報を提供する。 Related metrics often provide information about user status that is not available in a single received user metric. A single receiving user metric with a metric value often shows only the current value of that metric. In other words, a single user metric often provides a single feature fragment of the user situation. On the other hand, the associated metric often provides further information about the user situation, such as how the user metric has changed, or other information as will occur to those skilled in the art, in response to performing an action.
図9の方法の多くの例では、複数のユーザ計量(206)に応じた関連計量(664)の生成は、例えばcreateRelationalMetric()(図3の686)等の関連計量サービスにおけるメンバメソッドの呼び出しを含む。図9の方法のいくつかの例では、createRelationalMetric()(686)は、計量キャッシュ内のユーザ計量間の関係を決定し、適切な関連計量をインスタンス化する。他の実施形態では、createRelationalMetric()は、計量キャッシュ内のユーザ計量を、共に既定の計量パターンを形成する既定の計量集合と比較する。計量キャッシュ内のユーザ計量が、既定の計量パターンを形成する既定の計量と一致する場合、createRelationalMetric()は、関連計量データベースから適切な予め生成された関連計量を受信する。 In many examples of the method of FIG. 9, the generation of a related metric (664) in response to a plurality of user metrics (206) involves calling a member method in a related metric service such as createRelationalMetric () (686 in FIG. 3). Including. In some examples of the method of FIG. 9, createRelationalMetric () (686) determines the relationship between user metrics in the metric cache and instantiates the appropriate associated metric. In another embodiment, createRelationalMetric () compares the user metrics in the metric cache with a default metric set that together form a default metric pattern. If the user metric in the metric cache matches the default metric that forms the default metric pattern, createRelationalMetric () receives an appropriate pre-generated related metric from the related metric database.
図9の方法は、少なくとも1つのユーザ計量(206)および少なくとも1つの関連計量(664)から成るユーザ計量ベクトル(606)の生成(604)を含む。少なくとも1つのユーザ計量(206)および少なくとも1つの関連計量(664)から成るユーザ計量ベクトルは、ユーザ状況の多数の定量化可能な特徴およびこれらの特徴を測定する多数の量を有するユーザ状況の複雑な指示を表す。すなわち、ユーザ計量ベクトルは、通常、各々がユーザ状況の単一の定量化可能な特徴およびこの特徴を測定する量を表すユーザ計量集合である。図9の方法では、ユーザ計量ベクトルは、少なくとも2つの受信したユーザ計量間の関係を識別する少なくとも1つの関連計量も含む。 The method of FIG. 9 includes generating (604) a user metric vector (606) comprising at least one user metric (206) and at least one associated metric (664). A user metric vector consisting of at least one user metric (206) and at least one related metric (664) is a complex of user situation with a number of quantifiable features of the user situation and a number of quantities that measure these features. Represent instructions. That is, a user metric vector is typically a set of user metrics each representing a single quantifiable feature of the user situation and the amount by which this feature is measured. In the method of FIG. 9, the user metric vector also includes at least one associated metric that identifies a relationship between at least two received user metrics.
本発明の典型的な実施形態では、ユーザ計量ベクトルは、図3を参照して上述した例示的なユーザ計量ベクトル(606)等のユーザ計量ベクトルデータ構造またはレコードとして実施される。ユーザ計量ベクトル(606)は、ユーザを識別するユーザID(図3の486)およびユーザ計量ベクトルを一意に識別する計量ベクトルID(図3の408)を含む。また、ユーザ計量ベクトル(606)は、ユーザ計量に対する参照を含む計量リスト(図3の652)のためのデータ記憶領域を含む。また、ユーザ計量ベクトル(606)は、関連計量に対する参照を含む関連計量リスト(図3の653)のためのデータ記憶領域も含む。 In an exemplary embodiment of the invention, the user metric vector is implemented as a user metric vector data structure or record, such as the exemplary user metric vector (606) described above with reference to FIG. The user metric vector (606) includes a user ID that identifies the user (486 in FIG. 3) and a metric vector ID that uniquely identifies the user metric vector (408 in FIG. 3). The user metric vector (606) also includes a data storage area for a metric list (652 in FIG. 3) that includes references to user metrics. The user metric vector (606) also includes a data storage area for an associated metric list (653 in FIG. 3) that includes a reference to the associated metric.
図9の方法は、複数の計量範囲(210)から成るユーザ計量空間(610)の生成(605)を含む。ユーザ計量空間(610)は、ユーザのための複数の異なる計量範囲から成る。すなわち、計量空間は、複数の異なる計量IDについての複数の計量範囲によって規定される。図9の方法の多くの例では、ユーザ計量空間の計量範囲は、所与のユーザの所与のユーザ計量についての計量値の通常または快適な範囲を表す。図9の方法の多くの例では、ユーザ計量空間は、ユーザ計量ベクトルの関連計量についての計量範囲を含む。本発明の多くの例示的な実施形態では、計量空間は、ユーザIDおよびユーザの異なる計量範囲に対する参照リストのためのデータ記憶領域(655)を含む、図3の例示的な計量空間(610)等の計量空間データ構造として実施される。 The method of FIG. 9 includes generating (605) a user metric space (610) consisting of a plurality of metric ranges (210). The user metric space (610) consists of a plurality of different metric ranges for the user. That is, the metric space is defined by a plurality of metric ranges for a plurality of different metric IDs. In many examples of the method of FIG. 9, the metric range of the user metric space represents a normal or comfortable range of metric values for a given user metric for a given user. In many examples of the method of FIG. 9, the user metric space includes a metric range for the associated metric of the user metric vector. In many exemplary embodiments of the present invention, the metric space includes the data storage area (655) for the reference list for the user ID and the user's different metric ranges, the exemplary metric space (610) of FIG. Is implemented as a metric space data structure.
図9の方法は、ユーザ計量ベクトル(606)がユーザ計量空間(610)の外である(309)ことの判定(608)を含む。様々な代替的な例示的な実施形態では、ユーザ計量ベクトル(606)がユーザ計量空間(610)の外である(309)ことの判定(608)は、異なる方法を用いて実行される。ユーザ計量ベクトル(606)がユーザ計量空間(610)の外である(309)ことを判定する方法は、計量ベクトルのユーザ計量および関連計量と対応する計量空間の計量範囲との比較的単純な比較から、もっと複雑なアルゴリズムまで、複雑さは様々である。ユーザ計量ベクトル(606)がユーザ計量空間(610)の外である(309)ことを判定(608)する例示的な方法は、図13を参照して以下でより詳細に説明する。 The method of FIG. 9 includes a determination (608) that the user metric vector (606) is outside (309) the user metric space (610). In various alternative exemplary embodiments, the determination (608) that the user metric vector (606) is outside (309) the user metric space (610) is performed using different methods. A method for determining (309) that the user metric vector (606) is outside the user metric space (610) is a relatively simple comparison of the metric vector user metric and the associated metric to the corresponding metric space metric range. From complexity to more complex algorithms, the complexity varies. An exemplary method for determining (608) that the user metric vector (606) is outside (309) of the user metric space (610) is described in more detail below with reference to FIG.
ユーザ計量ベクトル(606)がユーザ計量空間(610)の外である(309)場合、図9の方法は、アクション(315)の識別(630)を含む。アクションは、典型的に、実行されると1つ以上のデバイスを制御する1つ以上のコンピュータプログラム、サブルーチン、またはメンバメソッドを含む。アクションは、通常、オブジェクト指向クラスとして実施され、オブジェクトまたはオブジェクトに対する参照として操作される。実際、本明細書中では、文脈によって他の意味が示されない限り、「アクション」、「アクションオブジェクト」、および「アクションオブジェクトに対する参照」という語は、多かれ少なかれ同意語である。図9の方法の多くの例では、アクションオブジェクトは、デバイスクラスのメンバメソッドを呼び出し、物理的デバイスの現在の属性に影響を与える。図9の方法の多くの例では、アクションクラスまたはアクションオブジェクトは、OSGiバンドルでサービスゲートウエイ上のDMLに展開される。 If the user metric vector (606) is outside the user metric space (610) (309), the method of FIG. 9 includes an identification (630) of the action (315). An action typically includes one or more computer programs, subroutines, or member methods that, when executed, control one or more devices. Actions are usually implemented as object-oriented classes and are manipulated as objects or references to objects. Indeed, in this document, the terms “action”, “action object”, and “reference to an action object” are more or less synonymous unless the context indicates otherwise. In many examples of the method of FIG. 9, action objects invoke device class member methods to affect the current attributes of a physical device. In many examples of the method of FIG. 9, action classes or action objects are deployed in the DML on the service gateway with OSGi bundles.
図9の方法の多くの例では、アクション(315)の識別(630)は、ユーザ計量ベクトル(606)に応じて、動的アクションリスト(626)を生成すること(624)を含む。図9の方法の多くの例では、動的アクションリストは、ユーザ計量空間の対応する計量範囲の外にあるユーザ計量ベクトルの特定の計量に関連付けた計量アクションリストに応じて生成されるアクションIDのリストである。すなわち、その対応する計量範囲の外にある計量ベクトルの各計量は、関連する計量アクションリストを有する。関連する計量アクションリストは、その関連する計量がその対応する計量範囲の外にある場合、実行のためのアクションIDを含む。動的アクションリストは、ユーザ計量空間の対応する計量範囲の外にあるユーザ計量ベクトルの特定の計量に関連付けた計量アクションリストに応じて識別されるアクションIDを含むアクションリストである。動的アクションリストは、ユーザの現在の状況に合わせたアクションIDのリストを提供すると有利である。 In many examples of the method of FIG. 9, the identification (630) of the action (315) includes generating (624) a dynamic action list (626) in response to the user metric vector (606). In many examples of the method of FIG. 9, the dynamic action list is an action ID generated in response to a metric action list associated with a particular metric of the user metric vector that is outside the corresponding metric range of the user metric space. It is a list. That is, each metric in the metric vector that is outside its corresponding metric range has an associated metric action list. The associated metric action list includes an action ID for execution if the associated metric is outside its corresponding metric range. A dynamic action list is an action list that includes an action ID that is identified in response to a metric action list associated with a particular metric of a user metric vector that is outside the corresponding metric range of the user metric space. The dynamic action list advantageously provides a list of action IDs tailored to the user's current situation.
本発明の多くの例示的な実施形態では、動的アクションリストの生成は、動的アクションサービスオブジェクトにおけるメンバメソッドの呼び出しを含む。図9の方法の多くの例では、動的アクションリストの生成は、ユーザ計量空間の対応する計量範囲の外にあるユーザ計量ベクトルの特定のユーザ計量に関連付けたアクションリストから検索したアクションIDによって、createDynamicActionList()等のメンバメソッドをパラメータで表すことを含む。図9の方法の多くの例では、actionDynamicActionList()は、そのユーザ計量ベクトルの呼び出し側に、計量アクションリストに含まれるアクションIDに応じて識別されるアクションIDを含む動的アクションリストを戻す。図9の方法の様々な代替的な例では、動的アクションリストは、例えば、ハッシュテーブル、Javaリストコンテナとして、ランダムアクセスメモリ内のテーブルとして、ハードドライブまたはCD ROM上に記憶領域を有するSQLデータベーステーブルとして、更に、当業者に想起される他の方法で、実施することができる。 In many exemplary embodiments of the invention, the generation of a dynamic action list includes a call to a member method on the dynamic action service object. In many examples of the method of FIG. 9, the generation of the dynamic action list is based on the action ID retrieved from the action list associated with a particular user metric of the user metric vector outside the corresponding metric range of the user metric space. This includes representing member methods such as createDynamicActionList () with parameters. In many examples of the method of FIG. 9, actionDynamicActionList () returns to the caller of its user metric vector a dynamic action list that includes an action ID that is identified according to the action ID included in the metric action list. In various alternative examples of the method of FIG. 9, the dynamic action list is a SQL database having storage areas on a hard drive or CD ROM, for example as a hash table, Java list container, as a table in random access memory. It can also be implemented as a table and in other ways as will occur to those skilled in the art.
図9の方法は、アクション(614)の実行を含む。従って、アクションの実行は、かかる実施形態において、多くの場合、DMLにおけるswitch()ステートメントの使用によって実行される。かかるswitch()ステートメントは、アクションIDに応じて動作し、例えば、以下の疑似コードセグメントに示されるように実施することができる。
例示的なスイッチステートメントは、アクションIDに応じた実行のため特定のデバイス制御オブジェクトを選択する。この例でswitch()によって管理されるデバイス制御オブジェクトは、actionNumber1、actionNumber2等という名前の具外的なアクションクラスであり、各々は、「take_action()」という名前の実行可能メンバメソッドを有し、これが、各アクションクラスが実施する実際のワークを実行する。 The example switch statement selects a specific device control object for execution according to the action ID. The device control objects managed by switch () in this example are extraneous action classes named actionNumber1, actionNumber2, etc., each with an executable member method named "take_action ()" This performs the actual work performed by each action class.
図9の方法の多くの例では、アクションの実行は、DMLにおけるハッシュテーブルの使用によって行われる。かかるハッシュテーブルは、以下の疑似コードの例に示すように、アクションIDによって入力されるアクションオブジェクトに対する参照を格納する。この例は、動的アクションリストサービスが、アクションIDをキーとして用いて、特定の計量IDに関連付けた具体的なアクションクラスのオブジェクトに対する参照であるアクションのハッシュテーブルを生成することによって開始する。多くの実施形態では、かかるハッシュテーブルを作成し、それにユーザ計量空間の対応する計量範囲の外にあるユーザ計量ベクトルの特定の計量IDに関連するアクションオブジェクトに対する参照を入れ、ハッシュテーブルに対する参照を呼び出し側ベクトルオブジェクトに戻すのは、動的アクションリストサービスである。
次いで、以下の疑似コードに従って、特定のアクションの実行を行うことができる。
また、図9の方法の多くの例は、リストの使用によって実施される。多くの場合、リストは、ハッシュテーブルと同様に機能する。かかるリストの構築は、以下の疑似コードに従って実行することができる。
次いで、以下の疑似コードに従って、特定のアクションの実行を行うことができる。
上述の3つの例は、スイッチステートメント、ハッシュテーブル、およびリストオブジェクトを用いて、本発明の実施形態によるアクションの実行を説明する。これらの例におけるスイッチステートメント、ハッシュテーブル、およびリストオブジェクトの使用は、限定ではなく説明のためである。実際、当業者に想起されるように、本発明の実施形態に従ってアクションを実行する多くの方法があり、かかる方法は全て本発明の範囲内である。 The three examples above illustrate the execution of actions according to embodiments of the present invention using switch statements, hash tables, and list objects. The use of switch statements, hash tables, and list objects in these examples is for purposes of illustration and not limitation. In fact, as will occur to those skilled in the art, there are many ways of performing actions in accordance with embodiments of the present invention, all of which are within the scope of the present invention.
図9の方法のいくつかの例では、アクションの実行は、デバイスのためのデバイスクラスの識別を含む。典型的なデバイスクラスは、デバイスを管理するメンバメソッドを含む。デバイスを管理する典型的なメンバメソッドは、物理的デバイスのデバイス属性の値を取得および設定するためのメンバメソッドを含む。例えば、光強度の多数の設定をサポートするランプの場合、デバイスクラスのメンバ方法get()は、ランプから光強度の値を取得することができ、デバイスクラスのメンバ方法set()は、ランプの光強度を設定する。 In some examples of the method of FIG. 9, performing the action includes identifying a device class for the device. A typical device class includes member methods for managing devices. Typical member methods for managing devices include member methods for getting and setting device attribute values for physical devices. For example, for a lamp that supports multiple settings of light intensity, the device class member method get () can obtain the value of the light intensity from the lamp, and the device class member method set () Set the light intensity.
図9の方法の多くの例では、アクションの実行は、デバイスのための通信クラスの識別を含む。デバイスクラスのメンバメソッドが物理的デバイスに通信するため、通信クラスは、物理的デバイスと通信するためのプロトコルを実施する。典型的な通信クラスは、通信クラスが実施するプロトコルに従ってデータ通信メッセージを構築、送信、および受信するメンバメソッドを含む。通信クラスのメンバメソッドは、物理的デバイスとの間でデータ通信メッセージを送信および受信する。通信クラスは、デバイスを実施するアクションから物理的デバイスと通信するために用いるプロトコルを分離すると有利であり、このため、例えばget()およびset()を備えるデバイスクラスインタフェースは、デバイスクラスを再プログラムする必要なく、また、物理的デバイスおよびプロトコルの各組み合わせごとに1つのデバイスクラスを提供する必要なく、データ通信プロトコルのいずれかを用いて物理的デバイスと通信可能であると有用である。 In many examples of the method of FIG. 9, performing an action includes identifying a communication class for the device. Because the member methods of the device class communicate with the physical device, the communication class implements a protocol for communicating with the physical device. A typical communication class includes member methods that construct, send, and receive data communication messages according to the protocol implemented by the communication class. The communication class member methods send and receive data communication messages to and from the physical device. The communication class advantageously separates the protocol used to communicate with the physical device from the action that implements the device, so a device class interface with eg get () and set () reprograms the device class. It is useful to be able to communicate with a physical device using any of the data communication protocols without having to do this, and without having to provide one device class for each combination of physical device and protocol.
図10は、複数のユーザ計量(206)に応じて関連計量(664)を生成する(662)例示的な方法を示すデータフロー図である。上述のように、図10の方法のいくつかの例では、関連計量は、計量キャッシュにおける受信したユーザ計量に応じて生成された計量である。図10の方法では、複数のユーザ計量(206)に応じた関連計量(664)の生成(662)は、ユーザ計量のフィルタリング(665)を含む。図10の方法の多くの例では、ユーザ計量のフィルタリングは、計量キャッシュにおける受信したユーザ計量の計量IDの識別および計量IDによるユーザ計量の分類を含む。 FIG. 10 is a data flow diagram illustrating an exemplary method for generating (662) an associated metric (664) in response to a plurality of user metrics (206). As described above, in some examples of the method of FIG. 10, the associated metric is a metric generated in response to a received user metric in the metric cache. In the method of FIG. 10, the generation (662) of an associated metric (664) in response to a plurality of user metrics (206) includes user metric filtering (665). In many examples of the method of FIG. 10, user metric filtering includes identifying a received user metric metric ID in the metric cache and classifying the user metric by metric ID.
図10は、結果として得られたフィルタリングされたユーザ計量を2つのみ示す(206A、206B)。しかしながら、図10の方法の多くの例では、ユーザ計量のフィルタリングの結果として、多くのフィルタリングしたユーザ計量がキャッシュに格納され、関連計量を生成するために用いられる。図10の方法の様々な例では、いくつのフィルタリングされたユーザ計量が計量キャッシュに維持されるかは、フィルタリングしたユーザ計量の計量ID、フィルタリングしたユーザ計量に応じて生成された関連計量の種類等のファクタ、または当業者に想起される他のいずれかのファクタによって変動する。例えば、「ユーザの移動」の関連計量は、2つのみのフィルタリングしたユーザ計量から生成することができ、一方、「円の中のユーザの移動」の関連計量は、計量キャッシュ内の位置のための3つ以上のフィルタリングしたユーザ計量を必要とする場合がある。 FIG. 10 shows only two resulting filtered user metrics (206A, 206B). However, in many examples of the method of FIG. 10, as a result of user metric filtering, a number of filtered user metrics are stored in a cache and used to generate an associated metric. In various examples of the method of FIG. 10, how many filtered user metrics are maintained in the metric cache, such as the filtered user metric metric ID, the type of associated metric generated in response to the filtered user metric, etc. Or any other factor that will occur to those skilled in the art. For example, an associated metric for “user movement” can be generated from only two filtered user metrics, while an associated metric for “user movement in a circle” is due to its position in the metric cache. May require more than two filtered user metrics.
図10の方法では、複数のユーザ計量(206A、206B)に応じた関連計量(664)の生成(662)は、第1のフィルタリングされたユーザ計量(206A)と第2のフィルタリングされたユーザ計量(206B)との間の関係(668)の判定(666)を含む。図10の方法では、第1のフィルタリングされたユーザ計量(206A)と第2のフィルタリングされたユーザ計量(206B)との間の関係(668)の判定(666)は、第1のフィルタリングされたユーザ計量(206A)と第2のフィルタリングされたユーザ計量(206B)との比較(670)を含む。図11の方法の多くの例では、第1のフィルタリングされたユーザ計量と第2のフィルタリングされたユーザ計量を比較して関係を判定することは、アルゴリズムで実行される。すなわち、例えば、コンピュータプログラム符号化の点で、ユーザ計量間の関係の判定は、スイッチステートメントまたは、例えば以下のように示されるものと同様のif-then-elseステートメント実施論理のシーケンスを用いることによって、実行される。
図11の方法の多くの例では、ユーザ計量に応じた関係の判定は、2つのみのユーザ計量の比較に限定されない。3つ以上のユーザ計量の比較の例として、以下の、関係「右に回転」を判定するアルゴリズム論理の例を考える。
図10の方法では、複数のユーザ計量(206A、206B)に応じた関連計量(664)の生成(662)は、第1のフィルタリングされたユーザ計量(206A)と第2のフィルタリングされたユーザ計量(206B)との間の関係(668)の大きさ(674)の判定(672)を含む。図10の方法の多くの例では、判定された大きさは、生成された関連計量の値として含まれる。図10の方法のいくつかの例では、第1のフィルタリングされたユーザ計量(206A)と第2のフィルタリングされたユーザ計量(206B)との間の関係(668)の大きさ(674)の判定(672)は、第1のフィルタリングしたユーザ計量(206A)の値から、第2のフィルタリングしたユーザ計量(206B)の値を減算する(676)ことを含む。図10の方法の他の代替的な例では、第1のフィルタリングされたユーザ計量(206A)と第2のフィルタリングされたユーザ計量(206B)との間の関係(668)の大きさ(674)の判定(672)は、第1のフィルタリングされたユーザ計量および第2のフィルタリングされたユーザ計量を加算すること、または当業者に想起される他のいずれかの関数またはアルゴリズムを第1のフィルタリングされたユーザ計量および第2のフィルタリングされたユーザ計量に適用することを含む。 In the method of FIG. 10, the generation (662) of an associated metric (664) in response to a plurality of user metrics (206A, 206B) includes a first filtered user metric (206A) and a second filtered user metric. The determination (672) of the magnitude (674) of the relationship (668) with (206B). In many examples of the method of FIG. 10, the determined magnitude is included as a value for the associated metric generated. In some examples of the method of FIG. 10, determining the magnitude (674) of the relationship (668) between the first filtered user metric (206A) and the second filtered user metric (206B). (672) includes subtracting (676) the value of the second filtered user metric (206B) from the value of the first filtered user metric (206A). In another alternative example of the method of FIG. 10, the magnitude (674) of the relationship (668) between the first filtered user metric (206A) and the second filtered user metric (206B). Determining (672) the first filtered user metric by adding the first filtered user metric and the second filtered user metric, or any other function or algorithm conceived by those skilled in the art. And applying to the second filtered user metric.
図11は、複数のユーザ計量(206)に応じて関連計量(664)を生成する(662)例示的な方法を示すデータフロー図である。図11の方法では、複数のユーザ計量(206)に応じた関連計量(664)の生成(662)は、複数のユーザ計量(206)が既定の計量パターン(663)に一致する(681)かの判定(678)を含む。図11の方法の多くの例では、既定の計量パターンは、既定の関係を証明する特定パターンの計量を形成するように予め決められた、予め生成したユーザ計量集合を含む。 FIG. 11 is a data flow diagram illustrating an exemplary method for generating (662) an associated metric (664) in response to a plurality of user metrics (206). In the method of FIG. 11, the generation (662) of an associated metric (664) in response to a plurality of user metrics (206) is determined by whether the plurality of user metrics (206) matches a predetermined metric pattern (663) (681). Determination (678). In many examples of the method of FIG. 11, the predetermined metric pattern includes a pre-generated user metric set that is predetermined to form a specific pattern of metric that proves the predetermined relationship.
図11の方法の多くの例では、複数のユーザ計量(206)が既定の計量パターン(663)に一致する(681)か否かの判定(678)は、計量キャッシュ内の複数のユーザ計量を、既定の計量パターン(663)を形成する既定の計量集合と比較すること(679)を含む。図11の方法の多くの例では、計量キャッシュ内のユーザ計量と関連計量データベース内の既定の計量パターンとを比較することは、ユーザ計量の値を、既定の計量パターン内に含まれる個々の既定計量の値と比較すること、および、計量キャッシュ内のユーザ計量の計量IDを、既定計量パターン内に含まれる個々の既定計量の計量IDと比較することを含む。図11の方法の多くの例では、既定計量パターンは、共に計量パターンを形成する異なる種類の既定計量を含む場合がある。 In many examples of the method of FIG. 11, determining whether a plurality of user metrics (206) matches a predetermined metric pattern (663) (681) (678) is performed by measuring a plurality of user metrics in a metric cache. Comparing (679) with a predefined metric set forming a predefined metric pattern (663). In many examples of the method of FIG. 11, comparing a user metric in the metric cache with a default metric pattern in the associated metric database may result in the user metric values being stored in individual default metrics contained within the default metric pattern. Comparing with the value of the metric and comparing the metric ID of the user metric in the metric cache to the individual metric metric ID included in the default metric pattern. In many examples of the method of FIG. 11, the default metric pattern may include different types of default metrics that together form a metric pattern.
計量キャッシュ内の複数のユーザ計量は、一致と見なされる既定計量パターンを形成する既定計量集合と全く同じである必要はない。計量キャッシュ内のユーザ計量が一致と見なされる既定計量パターンの既定計量と同じでなければならない程度は、比較に用いる方法の許容度、ユーザ計量および既定計量に含まれる情報の種類、ユーザ計量および既定計量を発生する際に用いる正確さおよび精度等の様々なファクタ、ならびに当業者に想起される他のファクタに依存する。 The multiple user metrics in the metric cache need not be exactly the same as the default metric set that forms the default metric pattern that is considered a match. The degree to which the user metric in the metric cache must be the same as the default metric of the default metric pattern to be matched is the tolerance of the method used for comparison, the type of information contained in the user metric and the default metric, the user metric and the default metric It depends on various factors such as the accuracy and precision used in generating the metric, as well as other factors that will occur to those skilled in the art.
図11の方法では、既定計量パターンは、計量パターンテーブル(680)に格納される。図11の方法の多くの例では、計量パターンテーブルは、例えば、識別する関連計量のための計量IDによって示される既定計量パターンを形成する所定の計量集合を含む。図11の方法の多くの例では、計量キャッシュ内のユーザ計量は、既定計量パターンを形成する所定の計量集合と比較される。ユーザ計量が、既定計量パターンを形成する所定の計量集合と一致した場合、関連計量のために計量IDを識別する。 In the method of FIG. 11, the default metric pattern is stored in the metric pattern table (680). In many examples of the method of FIG. 11, the metric pattern table includes a predetermined metric set that forms a default metric pattern, for example, indicated by a metric ID for the associated metric to identify. In many examples of the method of FIG. 11, user metrics in the metric cache are compared to a predetermined set of metrics that form a default metric pattern. If the user metric matches a predetermined metric set that forms a default metric pattern, the metric ID is identified for the associated metric.
図11の方法では、複数のユーザ計量(206)に応じた関連計量(664)の生成(662)は、関連計量(664)の検索(683)を含む。図11の方法の多くの例では、関連計量は、計量キャッシュ内のユーザ計量を計量パターンテーブルに格納された既定計量パターンと比較することによって識別される計量IDに応じて、関連計量テーブル(665)から検索される。 In the method of FIG. 11, generating (662) a related metric (664) in response to a plurality of user metrics (206) includes a search (683) of the related metric (664). In many examples of the method of FIG. 11, the related metric is a related metric table (665) in response to a metric ID identified by comparing the user metric in the metric cache with a default metric pattern stored in the metric pattern table. )
図12は、ユーザ計量ベクトル(606)を生成する(604)例示的な方法およびユーザ計量空間(610)を生成する(605)例示的な方法を示すデータフロー図である。図12の方法において、少なくとも1つのユーザ計量(206)および少なくとも1つの関連計量(664)から成るユーザ計量ベクトル(606)の生成(604)は、少なくとも1つのユーザ計量をユーザ計量ベクトルに関連付けること(603)、および少なくとも1つの関連計量(664)をユーザ計量ベクトル(606)に関連付けること(682)を含む。本開示において、および文脈に応じて、「関連付ける」という語は、一般的に、参照による関連付けを意味する。すなわち、1つのクラスのオブジェクトを別のオブジェクトに関連付けるということは、第2のオブジェクトが第1のオブジェクトに対する参照を有することを意味する。オブジェクトは互いに関連付けられ、各々が他に対する参照を有する。オブジェクト、集合、構成等の間の他の関係は、通常、関連付けの種類であり、当業者に想起される他のものと同様、それらのいずれかの使用は、本発明の範囲内である。図12の例示的な方法では、複数の異なるユーザ計量(206)をユーザ計量ベクトル(606)に関連付けること(603)は、ユーザ計量ベクトル(606)の複数の異なる計量オブジェクトに対する参照を提供することによって実行される。 FIG. 12 is a data flow diagram illustrating an exemplary method of generating (604) a user metric vector (606) and an exemplary method of generating (605) a user metric space (610). In the method of FIG. 12, the generation (604) of a user metric vector (606) comprising at least one user metric (206) and at least one related metric (664) associates at least one user metric with the user metric vector. (603) and associating (682) at least one associated metric (664) with the user metric vector (606). In this disclosure and depending on the context, the term “associate” generally means association by reference. That is, associating an object of one class with another object means that the second object has a reference to the first object. Objects are associated with each other, each with a reference to the other. Other relationships between objects, collections, configurations, etc. are typically types of associations, and the use of any of them is within the scope of the invention, as are others that will occur to those skilled in the art. In the exemplary method of FIG. 12, associating a plurality of different user metrics (206) with a user metric vector (606) (603) provides a reference to a plurality of different metric objects in the user metric vector (606). Executed by.
図12の方法において、複数の異なるユーザ計量(206)から成るユーザ計量ベクトル(606)の生成(604)は、少なくとも1つの計量アクションリスト(622)を各ユーザ計量(206)に関連付ける(620)ことを含む。図12の方法の多くの例において、複数の計量アクションリストは、ユーザベクトルの各ユーザ計量に関連付けられている。特定の計量に関連付けた計量アクションリストに含まれるアクションIDは、その計量が表すユーザ状況の特定の特徴に従ってデバイスを管理するように設計されたアクションを識別する。すなわち、計量アクションリストは、ユーザ計量または関連計量が表すユーザ状況に影響を与えるように構成されている。例えば、体温計量に関連付けた計量リストは、エアコンディショナ、ファン、ヒータ、自動日よけ等のデバイスを管理するアクションを含むことができる。 In the method of FIG. 12, generating (604) a user metric vector (606) comprising a plurality of different user metrics (206) associates (620) at least one metric action list (622) with each user metric (206). Including that. In many examples of the method of FIG. 12, multiple metric action lists are associated with each user metric in the user vector. The action ID included in the metric action list associated with a particular metric identifies an action designed to manage the device according to the specific characteristics of the user situation that the metric represents. That is, the metric action list is configured to affect the user situation represented by the user metric or the related metric. For example, a metric list associated with a body temperature metric can include actions to manage devices such as air conditioners, fans, heaters, automatic awnings.
図12の方法の多くの例において、ユーザ計量ベクトルの生成は、複数の計量アクションリストを単一のユーザ計量に関連付けることを含む。図12の方法のいくつかの例は、ユーザ計量の値がその対応する計量範囲よりも大きい場合に実行するため、ある計量アクションリストを、アクションIDを含むユーザ計量に関連付けること、更に、ユーザ計量の値がその対応する計量範囲よりも小さい場合に実行するため、アクションIDを含む別の計量アクションリストを関連付けることを含む。また、図12の方法のいくつかの例は、ユーザ計量がその対応する計量範囲外である程度および方向に応じて実行するため、計量アクションリストを、アクションIDを含むユーザ計量に関連付けることを含む。 In many examples of the method of FIG. 12, generating a user metric vector includes associating multiple metric action lists with a single user metric. Some examples of the method of FIG. 12 are performed when a user metric value is greater than its corresponding metric range, so associating a metric action list with a user metric that includes an action ID, To associate with another metric action list that includes an action ID to execute if the value of is less than its corresponding metric range. Also, some examples of the method of FIG. 12 include associating a metric action list with a user metric that includes an action ID, as the user metric runs outside of its corresponding metric range and depending on the direction and direction.
図12の方法では、複数の異なるユーザ計量(206)から成るユーザ計量ベクトル(606)の生成(604)は、少なくとも1つの計量アクションリスト(622)を各関連計量(664)に関連付けること(683)を含む。図12の方法の多くの例では、複数の計量アクションリストが、ユーザベクトルの各関連計量に関連付けられている。特定の関連計量に関連付けられた計量アクションリストに含まれるアクションIDは、その関連計量が表すユーザ状況の特定の特徴に従ってデバイスを管理するよう設計されたアクションを識別する。すなわち、計量アクションリストは、関連計量が表すユーザ状況に影響を与えるように構成されている。例えば、体温計量に関連付けた計量リストは、エアコンディショナ、ファン、ヒータ、自動日よけ等のデバイスを管理するアクションを含むことができる。 In the method of FIG. 12, the generation (604) of a user metric vector (606) comprising a plurality of different user metrics (206) associates at least one metric action list (622) with each associated metric (664) (683). )including. In many examples of the method of FIG. 12, multiple metric action lists are associated with each associated metric in the user vector. The action ID included in the metric action list associated with a particular related metric identifies an action designed to manage the device according to the particular characteristics of the user situation that that related metric represents. That is, the metric action list is configured to influence the user situation represented by the related metric. For example, a metric list associated with a body temperature metric can include actions to manage devices such as air conditioners, fans, heaters, automatic awnings.
図12の方法の多くの例では、ユーザ計量ベクトルの生成は、複数の計量アクションリストを単一の関連計量に関連付けることを含む。図12の方法のいくつかの例は、関連計量の値がその対応する計量範囲よりも大きい場合に実行するため、ある計量アクションリストを、アクションIDを含む関連計量に関連付けること、更に、関連計量の値がその対応する計量範囲よりも小さい場合に実行するため、アクションIDを含む別の計量アクションリストを関連付けることを含む。また、図12の方法のいくつかの例は、ユーザ計量がその対応する計量範囲外である程度および方向に応じて実行するために、アクションIDを含む計量アクションリストを、関連計量に関連付けることを含む。 In many examples of the method of FIG. 12, generating the user metric vector includes associating multiple metric action lists with a single related metric. Some examples of the method of FIG. 12 are performed when the value of the associated metric is greater than its corresponding metric range, so associating a metric action list with an associated metric that includes an action ID, To associate with another metric action list that includes an action ID to execute if the value of is less than its corresponding metric range. Also, some examples of the method of FIG. 12 include associating a metric action list that includes an action ID with an associated metric in order for a user metric to execute depending on the extent and direction outside its corresponding metric range. .
図12の方法は、複数の計量範囲から成るユーザ計量空間(610)の生成(605)を含む。図12の方法の多くの例において、ユーザ計量空間(610)は、本質的に、ユーザ計量ベクトルに含まれるユーザ計量および関連計量に対応する複数の異なる計量範囲から成る。図12の方法の多くの例では、ユーザ計量空間の計量範囲は、ユーザのための通常または快適な計量範囲を表す。図12の方法では、ユーザ計量空間(610)の生成(602)は、複数の異なる計量(206)のための複数の計量範囲(210)を識別すること(610)、および、複数の異なる計量(206)のための複数の異なる計量範囲(210)をユーザ計量空間(610)に関連付けることを含む。 The method of FIG. 12 includes generating (605) a user metric space (610) consisting of a plurality of metric ranges. In many examples of the method of FIG. 12, the user metric space (610) consists essentially of a plurality of different metric ranges corresponding to the user metric and associated metrics included in the user metric vector. In many examples of the method of FIG. 12, the metric range of the user metric space represents a normal or comfortable metric range for the user. In the method of FIG. 12, the creation (602) of user metric space (610) identifies (610) a plurality of metric ranges (210) for a plurality of different metrics (206), and a plurality of different metrics. Associating a plurality of different metric ranges (210) for (206) with a user metric space (610).
図12の方法の多くの例において、複数の計量範囲(210)の識別(601)および複数の計量範囲(210)のユーザ計量空間(610)との関連付け(607)は、DMLがインスタンス化する計量空間サービスによって実行される。計量空間サービスは、ユーザ計量ベクトルからユーザ計量ベクトルIDを受け取り、計量ベクトルIDが識別する計量空間リストの中で計量空間を検索し、ユーザ計量ベクトルに、ユーザ計量ベクトルと比較するための計量空間を識別する計量空間IDを戻す。計量ベクトルIDのための計量空間が存在しない場合、計量空間サービスは、1つの計量空間をインスタンス化し、計量空間テーブルに計量空間IDを格納する。 In many examples of the method of FIG. 12, the identification (601) of multiple metric ranges (210) and the association (607) of multiple metric ranges (210) with user metric spaces (610) are instantiated by the DML. Performed by a metric space service. The metric space service receives a user metric vector ID from the user metric vector, searches the metric space list identified by the metric vector ID, and sets a metric space for comparison with the user metric vector in the user metric vector. Returns the metric space ID to identify. If there is no metric space for the metric vector ID, the metric space service instantiates one metric space and stores the metric space ID in the metric space table.
図13は、ユーザ計量ベクトル(606)がユーザ計量空間(610)の外である(309)か否かを判定する(608)2つの例示的な方法を示すデータフロー図である。ユーザ計量ベクトル(606)がユーザ計量空間(610)の外である(309)か否かを判定する(608)最初に例示する方法は、ユーザ計量ベクトル(606)のユーザ計量(206)および関連計量(664)の計量値を、計量空間(610)の計量範囲(210)と比較すること(806)を含む。本発明のいくつかの例では、ユーザ計量の計量値または関連計量の値とその対応する計量範囲との比較は、その値が既定計量範囲の外である程度の測定、および、その値が既定計量範囲の上または下であることの識別を含む。 FIG. 13 is a data flow diagram illustrating two exemplary methods for determining (608) whether the user metric vector (606) is outside the user metric space (610) (309). Determining whether the user metric vector (606) is outside the user metric space (610) (309) (608) The first exemplary method is the user metric (206) of the user metric vector (606) and related Comparing (806) the metric value of the metric (664) with the metric range (210) of the metric space (610). In some examples of the present invention, a comparison between a user metric or related metric value and its corresponding metric range is a measure of the degree that the value is outside the metric range and the value is a metric Includes identification of being above or below the range.
本発明の多くの例示的な実施形態において、ユーザ計量ベクトルが計量空間の外にあるか否かの判定は、計量値と計量範囲との間の多数の個々の比較の関数である。本発明の様々な代替的な実施形態では、異なる基準を用いて、ユーザ計量ベクトルが計量空間の外にあることを判定するために、対応する計量範囲外にあるはずの計量値の数を識別するか、または、いずれかの計量値が対応する計量範囲の外にある程度を識別する。いくつかの実施形態では、ユーザ計量ベクトルがユーザ計量空間の外にあるか否かを判定するための厳密な基準を用いて、1つのみの計量値が対応する計量範囲の外にある場合、ユーザ計量ベクトルは計量空間の外にあると判定される。他の実施形態では、ユーザ計量ベクトルがユーザ計量空間の外にあるか否かを判定するためのもっと厳密さの緩い基準を用いて、ユーザ計量ベクトルの全てが、ある程度、対応する計量範囲の外にある場合、ユーザ計量ベクトルはユーザ計量空間の外にあると判定される。様々な実施形態において、ユーザ計量ベクトルが計量空間の外にあるという判定を行うための、対応する計量範囲の外にあるはずの計量値の数、または、計量値が対応する計量範囲の外にある程度は、様々に異なる。ユーザ計量ベクトルが計量空間の外にあるか否かを判定するこれらの方法は全ては、本発明の範囲内である。 In many exemplary embodiments of the invention, the determination of whether the user metric vector is outside the metric space is a function of a number of individual comparisons between the metric value and the metric range. In various alternative embodiments of the invention, different criteria are used to identify the number of metric values that should be outside the corresponding metric range to determine that the user metric vector is outside the metric space. Or to some extent any metric value is outside the corresponding metric range. In some embodiments, using strict criteria for determining whether the user metric vector is outside the user metric space, if only one metric value is outside the corresponding metric range, The user metric vector is determined to be outside the metric space. In other embodiments, all of the user metric vectors are, to some extent, outside the corresponding metric range, using a less stringent criterion for determining whether the user metric vector is outside the user metric space. The user metric vector is determined to be outside the user metric space. In various embodiments, the number of metric values that should be outside the corresponding metric range, or the metric value is outside the corresponding metric range, to determine that the user metric vector is outside the metric space. To some extent, it is different. All these methods of determining whether a user metric vector is outside the metric space are within the scope of the present invention.
図13に示す、ユーザ計量ベクトル(606)がユーザ計量空間(610)の外にあると判定する(608)第2の例示的な方法は、計量ベクトル値(812)の計算(810)、および計量空間値(816)の計算(814)、および計量ベクトル値(812)の計量空間値(816)との比較(818)を含む。計量ベクトル値を計算する1つの方法は、所定の式を用いて、ユーザ計量ベクトルのユーザ計量および関連計量の計量値の関数である単一の値を明らかにすることである。本発明の1つの例示的な実施形態では、計量ベクトル値の計算は、ユーザ計量ベクトルの計量値の平均化を含む。別の例示的な実施形態では、計量ベクトル値の計算は、ある種の計量および関連計量を優先させること、および計量の優先に基づいた重み付き平均を用いて計量ベクトル値を計算することを含む。 A second exemplary method shown in FIG. 13 for determining that the user metric vector (606) is outside the user metric space (610) (608) is to calculate a metric vector value (812) (810), and Metric space value (816) calculation (814) and metric vector value (812) comparison with metric space value (816) (818). One way to calculate a metric vector value is to use a predetermined equation to reveal a single value that is a function of the user metric of the user metric vector and the metric value of the associated metric. In one exemplary embodiment of the present invention, the calculation of the metric vector value includes averaging the metric value of the user metric vector. In another exemplary embodiment, calculating the metric vector value includes prioritizing certain metrics and related metrics, and calculating the metric vector value using a weighted average based on the metric priority. .
いくつかの例示的な実施形態では、計量空間値(818)の計算(814)は、所定の式を用いて、ユーザ計量空間の各計量範囲の最小および最大値の関数である計量空間値を求めることを含む。1つの例示的な実施形態では、計量空間値の計算は、各計量範囲の最小および最大値の中心点を見出し、次いで中心点を平均化することを含む。 In some exemplary embodiments, the calculation (814) of the metric space value (818) uses a predetermined formula to determine a metric space value that is a function of the minimum and maximum values of each metric range of the user metric space. Including seeking. In one exemplary embodiment, the calculation of the metric space value includes finding the center point of the minimum and maximum values of each metric range and then averaging the center points.
例示した方法は、計量空間値(816)および計量ベクトル値(812)の比較(818)を含む。本発明の様々な実施形態では、計量ベクトルが計量空間の外にあるか否かを判定するため、どのように計量ベクトル値および計量空間値を比較するかは、様々である。1つの例示的な実施形態では、計量ベクトル値を、計量空間値から減算する。減算の結果が所定範囲内である場合、ユーザ計量ベクトルは計量空間内にあると判定される。同じ例において、減算の結果が所定範囲内になければ、計量ベクトル値は計量空間内にあると判定されない。 The illustrated method includes a comparison (818) of the metric space value (816) and the metric vector value (812). In various embodiments of the present invention, there are various ways in which the metric vector value and the metric space value are compared to determine whether the metric vector is outside the metric space. In one exemplary embodiment, the metric vector value is subtracted from the metric space value. If the result of the subtraction is within a predetermined range, it is determined that the user metric vector is in the metric space. In the same example, if the result of the subtraction is not within the predetermined range, the metric vector value is not determined to be in the metric space.
図13の例示した方法は、限定のためではなく説明のために提供する。ユーザ計量ベクトルが計量空間の外にあるという判定を行うために、計量範囲および計量値を比較し、組み合わせ、操作し、または他のやり方で使用可能である方法は、他にも多く存在する。ユーザ計量ベクトルが計量空間の外にあるという判定を行うための、かかる比較、組み合わせ、操作、および他のやり方で計量値および計量範囲を用いる方法は、全て、本発明の範囲内に含まれる。 The illustrated method of FIG. 13 is provided for purposes of illustration and not limitation. There are many other ways in which the metric range and metric values can be compared, combined, manipulated, or otherwise used to determine that the user metric vector is outside the metric space. All such comparisons, combinations, manipulations, and other methods of using metric values and metric ranges to determine that a user metric vector is outside the metric space are within the scope of the present invention.
図14は、アクション(315)を識別する(630)例示的な方法を示すデータフロー図である。図14の方法において、アクションの識別は、ユーザ計量ベクトル(606)に応じて、動的アクションリスト(626)を生成することを含む。通常の動的アクションリストは、対応する計量範囲または複数の計量範囲の外にあるユーザの計量空間および特定の関連計量の対応する計量範囲の外にあるユーザの計量ベクトルの特定の計量に関連付けた計量アクションリスト内に含まれるアクションIDに応じて動的に識別されるアクションIDを含む。かかる動的アクションリストの生成は、ユーザの現在の状況に応答してデバイスを管理するように構成されたアクションIDの集合を提供することが好都合である。 FIG. 14 is a data flow diagram illustrating an exemplary method for identifying (630) an action (315). In the method of FIG. 14, identifying an action includes generating a dynamic action list (626) in response to a user metric vector (606). The normal dynamic action list is associated with a specific metric of the user's metric space outside the corresponding metric range or multiple metric ranges and the user's metric vector outside the corresponding metric range of the specific associated metric An action ID that is dynamically identified according to an action ID included in the weighing action list is included. Such dynamic action list generation advantageously provides a set of action IDs configured to manage the device in response to the user's current situation.
図14の方法において、ユーザ計量ベクトル(606)に応じた動的アクションリスト(626)の生成(624)は、ユーザ計量空間の計量範囲外の値を有するユーザ計量ベクトル(622)の各ユーザ計量(206)および各関連計量ごとの計量アクションリスト(622)の識別(752)を含む。図14の方法の多くの例において、対応する計量範囲の外にある各ユーザ計量(206)および関連計量(664)ごとの、更に、対応する計量範囲の外にある各関連計量ごとの、計量アクションリスト(622)の識別(752)は、ユーザ計量ベクトルがユーザ計量空間の外にあると判定された場合に対応する計量範囲の外にあるとして先に識別された計量オブジェクトから、計量アクションリストに対する参照を検索すること、および、対応する計量範囲の外にあるとして先に識別された関連計量から、計量アクションリストに対する参照を検索することを含む。多くの例では、計量範囲の外にある計量オブジェクトは、ユーザ計量ベクトルが計量空間の外にあるか否かを判定するために計量オブジェクトを計量範囲と比較した場合に、識別される。 In the method of FIG. 14, the generation (624) of the dynamic action list (626) in response to the user metric vector (606) includes each user metric of the user metric vector (622) having a value outside the metric range of the user metric space. (206) and a metric action list (622) identification (752) for each associated metric. In many examples of the method of FIG. 14, a metric for each user metric (206) and associated metric (664) that is outside the corresponding metric range, and for each associated metric that is outside the corresponding metric range. The identification (752) of the action list (622) is based on the weighing action list from the weighing object previously identified as being outside the corresponding weighing range when it is determined that the user weighing vector is outside the user weighing space. And retrieving a reference to the weighing action list from the associated metric previously identified as being out of the corresponding metric range. In many instances, a metric object that is outside the metric range is identified when the metric object is compared to the metric range to determine if the user metric vector is outside the metric space.
図14の方法の多くの例では、1つの計量には、複数の計量アクションリストが関連付けられている。関連付けられた各計量アクションリストは、計量値が計量範囲の外にある程度および方向に応じて実行するため、アクションIDの集合を含む。従って、図14の方法のいくつかの例では、ユーザ計量空間の計量範囲の外にある値を有するユーザ計量ベクトル(606)の各ユーザ計量(206)ごとの計量アクションリスト(622)の識別(752)は、ユーザ計量ベクトルの各ユーザ計量の値がユーザ計量空間の計量範囲の外にある程度に応じて計量リストを識別することを含む。図14の方法の別の例では、ユーザ計量空間の計量範囲の外にある値を有するユーザ計量ベクトル(606)の各ユーザ計量(206)ごとの計量アクションリスト(622)の識別(752)は、ユーザ計量ベクトルの各ユーザ計量の値がユーザ計量空間の計量範囲の外にある方向に応じて計量リストを識別することを含む。 In many examples of the method of FIG. 14, a metric has a plurality of metric action lists associated with it. Each associated weighing action list includes a set of action IDs for the weighing value to be executed depending on the degree and direction outside the weighing range. Accordingly, in some examples of the method of FIG. 14, the identification of a metric action list (622) for each user metric (206) of a user metric vector (606) having a value outside the metric range of the user metric space ( 752) includes identifying the metric list to some extent that the value of each user metric in the user metric vector is outside the metric range of the user metric space. In another example of the method of FIG. 14, the identification (752) of the metric action list (622) for each user metric (206) of the user metric vector (606) having a value outside the metric range of the user metric space is Identifying the metric list according to a direction in which each user metric value of the user metric vector is outside the metric range of the user metric space.
図14の方法において、ユーザ計量ベクトル(606)に応じた動的アクションリスト(626)の生成(624)は、各計量アクションリスト(622)から少なくとも1つのアクションID(315)を検索すること(754)を含む。いくつかの計量アクションリストは、複数のアクションIDを含み、従って、図14の方法の多くの例は、対応する計量範囲外の値を有する各計量に関連付けられた計量アクションリストから複数のアクションIDを検索することを含む。 In the method of FIG. 14, generating (624) a dynamic action list (626) in response to a user metric vector (606) retrieves at least one action ID (315) from each metric action list (622) ( 754). Some metric action lists include multiple action IDs, and thus many examples of the method of FIG. 14 include multiple action IDs from the metric action list associated with each metric having a value outside the corresponding metric range. Including searching.
図14の例では、ユーザ計量ベクトル(606)に応じた動的アクションリスト(626)の生成(624)は、計量アクションリスト(622)から検索したアクションID(315)に応じて動的アクションリスト(626)に含ませるために少なくとも1つのアクションID(315)を識別すること(756)を含む。図14の方法の多くの例では、計量アクションリスト(622)から検索したアクションID(315)に応じて動的アクションリスト(626)に含ませるために少なくとも1つのアクションID(315)を識別すること(756)は、動的アクションリストに含ませるために計量アクションリストから直接検索したアクションIDの識別を含む。すなわち、図14の方法のいくつかの例では、計量アクションリストから検索した同じアクションIDが、動的アクションリストに含まれている。 In the example of FIG. 14, the generation (624) of the dynamic action list (626) according to the user metric vector (606) is performed according to the action ID (315) retrieved from the metric action list (622). (756) identifying at least one action ID (315) for inclusion in (626). In many examples of the method of FIG. 14, at least one action ID (315) is identified for inclusion in the dynamic action list (626) in response to the action ID (315) retrieved from the metric action list (622). (756) includes the identification of the action ID retrieved directly from the metric action list for inclusion in the dynamic action list. That is, in some examples of the method of FIG. 14, the same action ID retrieved from the metric action list is included in the dynamic action list.
図14の方法では、計量アクションリスト(622)から検索したアクションID(315)に応じて動的アクションリスト(626)に含ませるために少なくとも1つのアクションID(315)を識別すること(756)は、計量アクションリスト(622)のアクションID(315)を比較すること(758)および繰り返しのアクションを省略することを含む。図14の方法のいくつかの例では、繰り返しのアクションを省略することは、同じアクションIDが2つ以上の計量アクションリストに含まれることの判定を含む。かかる例では、動的アクションリストの生成は、同じアクションIDを有し、動的アクションリストに1度だけアクションIDを含む計量アクションリストを識別することを含む。 In the method of FIG. 14, at least one action ID (315) is identified (756) for inclusion in the dynamic action list (626) in response to the action ID (315) retrieved from the metric action list (622). Includes comparing (758) the action ID (315) of the metric action list (622) and omitting the repetitive action. In some examples of the method of FIG. 14, omitting repeated actions includes determining that the same action ID is included in more than one metric action list. In such an example, generating a dynamic action list includes identifying a metric action list that has the same action ID and includes the action ID only once in the dynamic action list.
図14の方法では、計量アクションリスト(622)から検索したアクションID(315)に応じて動的アクションリスト(626)に含ませるために少なくとも1つのアクションID(315)を識別すること(756)は、計量アクションリストの少なくとも1つのアクションIDに応じて動的アクションテーブル(762)からアクションID(315)を検索すること(760)を含む。図14の方法の多くの例では、動的アクションテーブル(762)は、他のアクションIDによって索引を付けられるアクションIDを含むデータ構造である。すなわち、動的アクションテーブルは、計量アクションリストから検索したアクションIDに応じて動的アクションリストに含ませるため所定のアクションIDに索引を付けるように設計されたデータ構造である。 In the method of FIG. 14, at least one action ID (315) is identified (756) for inclusion in the dynamic action list (626) in response to the action ID (315) retrieved from the metric action list (622). Includes retrieving (760) the action ID (315) from the dynamic action table (762) in response to at least one action ID in the metric action list. In many examples of the method of FIG. 14, the dynamic action table (762) is a data structure that includes action IDs that are indexed by other action IDs. That is, the dynamic action table is a data structure designed to index a predetermined action ID for inclusion in the dynamic action list in accordance with the action ID retrieved from the weighing action list.
従って、図14の方法の多くの例において、かかる動的アクションテーブルは、計量アクションリストから検索された競合するアクションを識別し、計量アクションリストから検索された置換するアクションを識別し、更に、計量アクションリストに含まれない別のアクションを識別するように設計されている。図14の方法のいくつかの例において、計量アクションリスト(622)から検索したアクションID(315)に応じて動的アクションリスト(626)に含ませるために少なくとも1つのアクションID(315)を識別すること(756)は、競合するアクションを省略することを含む。図14の方法の多くの例において、動的アクションテーブルを用いて、競合すると前もって決定されたアクションIDを識別する。例えば、天井のファンをオンするデバイス制御アクションを識別する1つの計量アクションリストに含まれるアクションIDは、同じ天井のファンをオフするデバイス制御アクションを識別するアクションIDと競合する。かかる競合アクションIDは、動的アクションリストから省略する。 Accordingly, in many examples of the method of FIG. 14, such a dynamic action table identifies conflicting actions retrieved from the metric action list, identifies replacement actions retrieved from the metric action list, and Designed to identify other actions not included in the action list. In some examples of the method of FIG. 14, at least one action ID (315) is identified for inclusion in the dynamic action list (626) in response to the action ID (315) retrieved from the metric action list (622). Doing (756) includes omitting conflicting actions. In many examples of the method of FIG. 14, a dynamic action table is used to identify action IDs previously determined to be in conflict. For example, an action ID included in one metering action list that identifies a device control action that turns on a ceiling fan conflicts with an action ID that identifies a device control action that turns off the same ceiling fan. Such competitive action ID is omitted from the dynamic action list.
図14の方法のいくつかの例では、計量アクションリスト(622)から検索したアクションID(315)に応じて動的アクションリスト(626)に含ませるために少なくとも1つのアクションID(315)を識別すること(756)は、置換されたアクションを省略することを含む。置換されたアクションとは、実行されると、別の置換するアクションと同じ方向の同じデバイスを管理するが、別の置換するアクションよりも小さい程度でそのデバイスを管理するアクションである。すなわち、別のアクションがより大きい程度で同じデバイスを管理する場合にアクションは置換されて、置換されたアクションの実行は、置換するアクションの実行によって隠されるようになっている。例えば、天井のファンの現在の属性値を「5」から「4」に変化させるアクションIDの実行は、同じ天井のファンの属性を「5」から「2」に変化させるアクションIDの実行によって置換される。図14の方法の多くの例では、動的アクションテーブルを用いて、他のアクションIDを置換するように予め決定されたアクションIDを識別する。図13の方法の多くの例は、動的アクションリストからの置換されたアクションIDを省略し置換するアクションIDを含ませることを含む。 In some examples of the method of FIG. 14, at least one action ID (315) is identified for inclusion in the dynamic action list (626) in response to the action ID (315) retrieved from the metric action list (622). Doing (756) includes omitting the replaced action. A replaced action is an action that, when executed, manages the same device in the same direction as another replacing action, but manages the device to a lesser degree than another replacing action. That is, an action is replaced when another action manages the same device to a greater degree, and execution of the replaced action is hidden by execution of the replacing action. For example, execution of an action ID that changes the current attribute value of a ceiling fan from “5” to “4” is replaced by execution of an action ID that changes the attribute of the same ceiling fan from “5” to “2”. Is done. In many examples of the method of FIG. 14, a dynamic action table is used to identify action IDs that are predetermined to replace other action IDs. Many examples of the method of FIG. 13 include omitting the replaced action ID from the dynamic action list and including an action ID that replaces it.
図14の方法では、計量アクションリスト(622)から検索したアクションID(315)に応じて動的アクションリスト(626)に含ませるために少なくとも1つのアクションID(315)を識別すること(756)は、動的アクションリストに含ませるために、識別した計量アクションリスト(622)のいずれにも含まれないアクションIDを識別することを含む。図14の方法の多くの例では、動的アクションテーブル(762)のルックアップによって識別されたアクションIDは、識別した計量アクションのいずれにも含まれない。これらの例のいくつかでは、動的アクションテーブルに、実行された場合に他のアクションIDと同じユーザ状況に影響を与えるように予め決定されたアクションIDを設定する。かかる動的アクションテーブルは、計量アクションリストから1つ以上の他のアクションIDが検索された場合に実行するため、アクションIDを識別するように索引を付ける。このように、動的アクションテーブルは、ユーザの現在の状況に影響を与えるより多くのアクションを識別し実行するための手段を有利に提供する。 In the method of FIG. 14, at least one action ID (315) is identified (756) for inclusion in the dynamic action list (626) in response to the action ID (315) retrieved from the metric action list (622). Includes identifying action IDs that are not included in any of the identified metric action lists (622) for inclusion in the dynamic action list. In many examples of the method of FIG. 14, the action ID identified by the lookup of the dynamic action table (762) is not included in any of the identified weighing actions. In some of these examples, action IDs that are predetermined to affect the same user situation as other action IDs when executed are set in the dynamic action table. Such a dynamic action table is indexed to identify action IDs for execution when one or more other action IDs are retrieved from the metric action list. Thus, the dynamic action table advantageously provides a means for identifying and executing more actions that affect the user's current situation.
対応する範囲外のユーザ計量に関連付けられたいかなる計量アクションリストにも含まれないアクションIDの識別を更に説明するため、以下の例を与える。ユーザ計量ベクトルの2つのユーザ計量が、ユーザ計量空間の対応する計量範囲を超えている。最初の計量は体温を表し、関連計量アクションリスト内に第1のアクションIDを有し、これは実行されると天井のファンをオンにする。第2の計量は心拍数を表し、関連計量リスト内に第2のアクションIDを有し、これは実行されるとエアコンディショナをオンにする。第1のアクションIDおよび第2のアクションIDに応じた動的アクションテーブルのルックアップは、どちらの計量のどちらの計量アクションリストにも含まれない第3のアクションIDを検索する。第3のアクションIDの実行は、結果として、天井のファンをオンにし、エアコンディショナをオンにし、自動日よけを引く。自動日よけの追加アクションは、エアコンディショナおよび天井のファンをオンすることと同じユーザ状況に影響を与えるように予め決定されている。動的アクションテーブルのルックアップは、第1および第2のアクションIDを基に動的アクションリストに含ませるために第3のアクションIDを識別する。 To further illustrate the identification of action IDs not included in any metric action list associated with a user metric outside the corresponding range, the following example is given. The two user metrics in the user metric vector exceed the corresponding metric range in the user metric space. The first metric represents body temperature and has a first action ID in the associated metric action list that, when executed, turns on the ceiling fan. The second metric represents the heart rate and has a second action ID in the associated metric list that, when executed, turns on the air conditioner. The dynamic action table lookup according to the first action ID and the second action ID retrieves a third action ID that is not included in either metric action list of either metric. Execution of the third action ID results in turning on the ceiling fan, turning on the air conditioner, and drawing automatic awning. Additional actions for automatic awning are predetermined to affect the same user situation as turning on the air conditioner and ceiling fan. The dynamic action table lookup identifies a third action ID for inclusion in the dynamic action list based on the first and second action IDs.
図15は、アクションを識別する(630)例示的な方法を示すデータフロー図である。図15の方法において、アクションの識別は、ユーザの位置(972)の判定(970)を含む。図15の方法の多くの例では、ユーザの位置の判定は、ユーザ計量ベクトルから位置のユーザ計量(206)に対する参照を検索すること、および、位置のユーザ計量の値を検索することを含む。図15の方法の他の例では、ユーザの位置の判定は、他の計量からユーザの位置を推測すること、またはユーザによるデバイスの直接管理によって生じるデバイス属性の変化を識別すること等、または当業者に想起される他のいずれかのユーザ位置の推測方法による、ユーザの位置の推測を含む。 FIG. 15 is a data flow diagram illustrating an exemplary method for identifying (630) an action. In the method of FIG. 15, identifying the action includes determining (970) the user's location (972). In many examples of the method of FIG. 15, determining a user's position includes retrieving a reference to a user metric (206) for a position from a user metric vector, and retrieving a value for the user metric for the position. In other examples of the method of FIG. 15, determining the user's position may include inferring the user's position from other metrics, identifying changes in device attributes caused by direct management of the device by the user, or the like. Including estimation of the user's position by any other user position estimation method recalled by the merchant.
図15の方法では、アクションの識別は、ユーザ移動(974)の判定(971)を含む。図15の方法のいくつかの例においてユーザ移動の判定は、ユーザ計量ベクトルから、ユーザの移動を表す関連計量(664)を検索すること、および関連計量の値を検索することを含む。図15の方法のいくつかの例では、ユーザ移動の判定は、ユーザ計量ベクトルから、ユーザの移動の様々な特徴を表す複数の関連計量(664)を検索すること、および複数の関連計量の値を検索することを含む。 In the method of FIG. 15, the identification of the action includes a determination (971) of the user movement (974). In some examples of the method of FIG. 15, determining user movement includes searching a user metric vector for an associated metric (664) that represents the user's movement, and retrieving a value for the associated metric. In some examples of the method of FIG. 15, the determination of user movement includes retrieving a plurality of related metrics (664) representing various characteristics of user movement from a user metric vector, and a plurality of related metric values. Including searching.
図15の方法では、アクション(630)の識別は、ユーザの位置(972)およびユーザの移動(974)に応じてアクションID(315)を選択すること(975)を含む。図15の方法では、ユーザの位置およびユーザの移動に応じてアクションIDを選択すること(975)は、アクションテーブルから、ユーザの位置およびユーザの移動に応じたアクションIDを検索することを含む。 In the method of FIG. 15, identifying an action (630) includes selecting an action ID (315) (975) in response to the user's location (972) and the user's movement (974). In the method of FIG. 15, selecting an action ID in response to the user's location and user movement (975) includes retrieving an action ID from the action table in response to the user's location and user movement.
図15の方法の多くの例では、アクションテーブル(975)は、位置および特定のユーザの移動によって示されるアクションIDを含む。図15の方法の典型的な例において、アクションテーブルのアクションIDは、有効範囲がユーザの現在の位置をカバーする特定のデバイスを管理するように設計されたアクションを識別し、更に、ユーザの現在の移動と一致する方法でデバイスを管理するように設計されている。例えば、ユーザが居間にいて、居間には、有効範囲がこの居間をカバーするラジオが置かれているという場合がある。更に、ユーザがラジオの位置に近づくと、アクションはラジオのボリュームをゆっくりと下げるように設計されている場合がある。ユーザの位置およびユーザの移動に応じてアクションテーブルから選択された特定のアクションIDは、位置に基づくデバイス制御を行うことができると好都合である。 In many examples of the method of FIG. 15, the action table (975) includes an action ID indicated by a location and a particular user movement. In the exemplary example of the method of FIG. 15, the action ID in the action table identifies an action whose scope is designed to manage a particular device that covers the user's current location, and further Designed to manage devices in a way that matches the movement of the device. For example, there may be a case where the user is in the living room and the living room has a radio whose effective range covers this living room. Furthermore, the action may be designed to slowly reduce the volume of the radio as the user approaches the position of the radio. Conveniently, the specific action ID selected from the action table in response to the user's location and the user's movement can perform device control based on location.
以下の例を考える。ユーザの計量ベクトルが、ユーザの心拍数が対応する計量範囲を超えたことを示す。DMLは、ユーザの音楽プレーヤをオンし、プレーヤがユーザを落ち着かせるよう指定された音楽を演奏するように設定するアクションを識別するアクションIDを識別して実行する。また、DMLは、ユーザが居間にいることを判定し、DMLは、ユーザが音楽プレーヤに向かって移動していると判定する。ユーザの速度および方向に適切な速さでボリュームを下げるよう設計された別のアクションIDが識別され実行される。ボリュームを下げた結果、ユーザにとってボリュームは変わらないように見える。 Consider the following example: The user's metric vector indicates that the user's heart rate has exceeded the corresponding metric range. The DML turns on the user's music player and identifies and executes an action ID that identifies the action to set the player to play music designated to calm the user. The DML also determines that the user is in the living room, and the DML determines that the user is moving toward the music player. Another action ID designed to lower the volume at a speed appropriate to the user's speed and direction is identified and executed. As a result of lowering the volume, the volume does not seem to change for the user.
図15の方法のいくつかの例は、ユーザの位置(972)およびユーザの移動(974)に応じてアクションID(315)を選択する(975)ことによって、および、動的アクションリストを生成してアクションを識別することによって、アクション(630)を識別することを含む。すなわち、アクションを識別する2つ以上の方法が、関連して実行され、多くの場合、多くのアクションを識別して実行する。他の例では、アクションの識別は、ユーザの位置(972)およびユーザの移動(974)に応じてアクションID(315)を選択する(975)ことによって、または、動的アクションリストを生成してアクションを識別することによって、または当業者に想起される他のいずれかのアクションの識別方法によって、行われる。 Some examples of the method of FIG. 15 generate a dynamic action list by selecting (975) an action ID (315) in response to a user location (972) and a user movement (974). Identifying the action (630) by identifying the action. That is, more than one method of identifying actions is performed in conjunction, often identifying and performing many actions. In other examples, action identification may be performed by selecting (975) an action ID (315) in response to the user's location (972) and user movement (974), or generating a dynamic action list. This is done by identifying the action or by any other method of identifying actions that will occur to those skilled in the art.
前述の記載から、本発明の様々な実施形態において、真の精神から逸脱することなく修正および変更を行い得ることは認められよう。本明細書の記載は、例示の目的のためのみであり、限定の意味に解釈されるものではない。本発明の範囲は、特許請求の範囲の文言によってのみ限定される。 From the foregoing description, it will be appreciated that various modifications and changes can be made in the various embodiments of the present invention without departing from the true spirit. The descriptions in this specification are for purposes of illustration only and are not to be construed in a limiting sense. The scope of the invention is limited only by the language of the claims.
Claims (30)
複数のユーザ計量を受信するステップと、
前記複数のユーザ計量を基に関連計量を生成するステップと、
少なくとも1つのユーザ計量および少なくとも1つの関連計量を有するユーザ計量ベクトルを生成するステップと、
複数の計量範囲を有するユーザ計量空間を生成するステップと、
前記ユーザ計量ベクトルが前記ユーザ計量空間の外にあるか否かを判定するステップと、
前記ユーザ計量ベクトルがユーザ計量空間の外にある場合、アクションを識別するステップと、
前記アクションを実行するステップと、
を有する、方法。 A method for managing devices,
Receiving a plurality of user metrics;
Generating an associated metric based on the plurality of user metrics;
Generating a user metric vector having at least one user metric and at least one associated metric;
Generating a user metric space having a plurality of metric ranges;
Determining whether the user metric vector is outside the user metric space;
Identifying an action if the user metric vector is outside the user metric space;
Performing the action;
Having a method.
ユーザの位置を判定するステップと、
前記ユーザの位置を基にアクションIDを選択するステップと、
を有する、請求項1の方法。 The step of identifying actions is
Determining the position of the user;
Selecting an action ID based on the location of the user;
The method of claim 1 comprising:
ユーザの移動を判定するステップと、
前記ユーザの移動を基にアクションIDを選択するステップと、
を有する、請求項9の方法。 The step of identifying actions is
Determining user movement; and
Selecting an action ID based on the movement of the user;
10. The method of claim 9, comprising:
複数のユーザ計量を受信するための手段と、
前記複数のユーザ計量を基に関連計量を生成するための手段と、
少なくとも1つのユーザ計量および少なくとも1つの関連計量を有するユーザ計量ベクトルを生成するための手段と、
複数の計量範囲を有するユーザ計量空間を生成するための手段と、
前記ユーザ計量ベクトルが前記ユーザ計量空間の外にあるか否かを判定するための手段と、
前記ユーザ計量ベクトルがユーザ計量空間の外にある場合、アクションを識別するための手段と、
前記アクションを実行するための手段と、
を有する、システム。 A system for managing devices,
Means for receiving a plurality of user metrics;
Means for generating an associated metric based on the plurality of user metrics;
Means for generating a user metric vector having at least one user metric and at least one associated metric;
Means for generating a user metric space having a plurality of metric ranges;
Means for determining whether the user metric vector is outside the user metric space;
Means for identifying an action if the user metric vector is outside the user metric space;
Means for performing the action;
Having a system.
ユーザの位置を判定するための手段と、
前記ユーザの位置を基にアクションIDを選択するための手段と、
を有する、請求項11のシステム。 The step of identifying actions is
Means for determining the position of the user;
Means for selecting an action ID based on the location of the user;
12. The system of claim 11, comprising:
ユーザの移動を判定するための手段と、
前記ユーザの移動を基にアクションIDを選択するための手段と、
を有する、請求項19のシステム。 Means for identifying actions are:
Means for determining user movement;
Means for selecting an action ID based on the movement of the user;
20. The system of claim 19, comprising:
記録媒体と、
前記記録媒体上に記録された、複数のユーザ計量を受信するための手段と、
前記記録媒体上に記録された、前記複数のユーザ計量を基に関連計量を生成するための手段と、
前記記録媒体上に記録された、少なくとも1つのユーザ計量および少なくとも1つの関連計量を有するユーザ計量ベクトルを生成するための手段と、
前記記録媒体上に記録された、複数の計量範囲を有するユーザ計量空間を生成するための手段と、
前記記録媒体上に記録された、前記ユーザ計量ベクトルが前記ユーザ計量空間の外にあるか否かを判定するための手段と、
前記ユーザ計量ベクトルがユーザ計量空間の外にある場合、アクションを識別するための、前記記録媒体上に記録された手段と、
前記記録媒体上に記録された、前記アクションを実行するための手段と、
を有する、プロダクト。 A computer program product for managing devices,
A recording medium;
Means for receiving a plurality of user metrics recorded on the recording medium;
Means for generating an associated metric based on the plurality of user metrics recorded on the recording medium;
Means for generating a user metric vector recorded on the recording medium having at least one user metric and at least one associated metric;
Means for generating a user metric space having a plurality of metric ranges recorded on the recording medium;
Means for determining whether the user metric vector recorded on the recording medium is outside the user metric space;
Means recorded on the recording medium for identifying an action if the user metric vector is outside the user metric space;
Means for performing the action recorded on the recording medium;
Having a product.
前記記録媒体上に記録された、ユーザの位置を判定するための手段と、
前記記録媒体上に記録された、前記ユーザの位置を基にアクションIDを選択するための手段と、
を有する、請求項21のコンピュータプログラムプロダクト。 Identifying an action recorded on the recording medium comprises:
Means for determining a user's position recorded on the recording medium;
Means for selecting an action ID based on the position of the user recorded on the recording medium;
The computer program product of claim 21, comprising:
前記記録媒体上に記録された、ユーザの移動を判定するための手段と、
前記記録媒体上に記録された、前記ユーザの移動を基にアクションIDを選択するための手段と、
を有する、請求項29のコンピュータプログラムプロダクト。 The means for identifying the action recorded on the recording medium is:
Means for determining movement of a user recorded on the recording medium;
Means for selecting an action ID recorded on the recording medium based on the movement of the user;
30. The computer program product of claim 29, comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004216023A JP2006039750A (en) | 2004-07-23 | 2004-07-23 | Method, system, and program for managing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004216023A JP2006039750A (en) | 2004-07-23 | 2004-07-23 | Method, system, and program for managing device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006039750A true JP2006039750A (en) | 2006-02-09 |
Family
ID=35904714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004216023A Pending JP2006039750A (en) | 2004-07-23 | 2004-07-23 | Method, system, and program for managing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006039750A (en) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6357452U (en) * | 1986-10-02 | 1988-04-16 | ||
JPH0275846A (en) * | 1988-09-12 | 1990-03-15 | Taisei Corp | Controlling of room environmental apparatus according to brain wave and device therefor |
JPH07311622A (en) * | 1994-05-17 | 1995-11-28 | Nippon Syst House Kk | System controller using brain wave |
JPH09303842A (en) * | 1996-05-15 | 1997-11-28 | Toshiba Corp | Air conditioner |
JP2001041531A (en) * | 1999-07-30 | 2001-02-16 | Matsushita Electric Ind Co Ltd | Environment control apparatus and care house |
JP2002090152A (en) * | 2001-06-18 | 2002-03-27 | Sony Corp | Input device and input system |
JP2003004278A (en) * | 2001-06-21 | 2003-01-08 | Matsushita Electric Ind Co Ltd | Environmental control equipment |
JP2005128976A (en) * | 2003-09-30 | 2005-05-19 | Toshiba Corp | Equipment controller, equipment control system and equipment control method |
-
2004
- 2004-07-23 JP JP2004216023A patent/JP2006039750A/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6357452U (en) * | 1986-10-02 | 1988-04-16 | ||
JPH0275846A (en) * | 1988-09-12 | 1990-03-15 | Taisei Corp | Controlling of room environmental apparatus according to brain wave and device therefor |
JPH07311622A (en) * | 1994-05-17 | 1995-11-28 | Nippon Syst House Kk | System controller using brain wave |
JPH09303842A (en) * | 1996-05-15 | 1997-11-28 | Toshiba Corp | Air conditioner |
JP2001041531A (en) * | 1999-07-30 | 2001-02-16 | Matsushita Electric Ind Co Ltd | Environment control apparatus and care house |
JP2002090152A (en) * | 2001-06-18 | 2002-03-27 | Sony Corp | Input device and input system |
JP2003004278A (en) * | 2001-06-21 | 2003-01-08 | Matsushita Electric Ind Co Ltd | Environmental control equipment |
JP2005128976A (en) * | 2003-09-30 | 2005-05-19 | Toshiba Corp | Equipment controller, equipment control system and equipment control method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7165056B2 (en) | Administering devices in dependence upon user metric vectors including relational metrics and location based device control | |
US8180885B2 (en) | Method and system for administering devices with multiple user metric spaces | |
US8688818B2 (en) | Administering devices with domain state objects | |
US8112499B2 (en) | Administering devices in dependence upon user metric vectors | |
US7263511B2 (en) | Creating user metric patterns including user notification | |
US7865909B2 (en) | Administering devices in dependence upon user metric vectors with multiple users | |
US20050050137A1 (en) | Administering devices in dependence upon metric patterns | |
US20050071462A1 (en) | Creating user metric patterns | |
US20070288493A1 (en) | Administering Devices Including Creating A User Reaction Log | |
US20060190571A1 (en) | Service framework for home network | |
US20050071463A1 (en) | Administering devices in dependence upon device content metadata | |
US7912953B2 (en) | Administering devices including allowed action lists | |
US6961668B2 (en) | Evaluating test actions | |
US7197366B2 (en) | Method and system for administering devices including an action log | |
US20070283266A1 (en) | Administering Devices With Dynamic Action Lists | |
US7151969B2 (en) | Administering devices in dependence upon user metric vectors with optimizing metric action lists | |
US7464062B2 (en) | Administering devices in dependence upon user metric vectors including generic metric spaces | |
US20050021735A1 (en) | Administering devices in dependence upon user metric vectors including user preferences | |
US20050108366A1 (en) | Administering devices with domain state objects | |
JP2006039750A (en) | Method, system, and program for managing device | |
US20040249912A1 (en) | Method and system for administering devices in dependence upon user metrics | |
US20050033744A1 (en) | Administering devices in dependence upon predefined condition spaces | |
US20050108429A1 (en) | Devices in a domain |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070417 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20070531 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20070531 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20070531 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070709 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070828 |