CN1975769B - 现状管理方法和设备 - Google Patents
现状管理方法和设备 Download PDFInfo
- Publication number
- CN1975769B CN1975769B CN2006100792932A CN200610079293A CN1975769B CN 1975769 B CN1975769 B CN 1975769B CN 2006100792932 A CN2006100792932 A CN 2006100792932A CN 200610079293 A CN200610079293 A CN 200610079293A CN 1975769 B CN1975769 B CN 1975769B
- Authority
- CN
- China
- Prior art keywords
- presence information
- aggregation
- client
- notification
- aggregated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title abstract description 67
- 238000004220 aggregation Methods 0.000 claims description 508
- 230000002776 aggregation Effects 0.000 claims description 507
- 238000007726 management method Methods 0.000 claims description 117
- 230000008859 change Effects 0.000 claims description 24
- 230000004931 aggregating effect Effects 0.000 claims description 22
- 238000006116 polymerization reaction Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 18
- 230000000379 polymerizing effect Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 description 54
- 238000010586 diagram Methods 0.000 description 41
- 238000012545 processing Methods 0.000 description 34
- 230000006870 function Effects 0.000 description 15
- 239000000284 extract Substances 0.000 description 14
- 238000004891 communication Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 5
- 230000000977 initiatory effect Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 241001025261 Neoraja caerulea Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0637—Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/54—Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/567—Integrating service provisioning from a plurality of service providers
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Educational Administration (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Computer Hardware Design (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
现状管理方法和设备。本发明的一个目的是减轻观察者的使用现状系统订购人和物的现状信息的负担。例如,属性是产品名称,并且产品A、B、C具有相同的属性值“DVDRecorder”。服务器生成包括产品A、B、C(对应于提供方)的现状信息在内的聚合现状信息,并将该聚合现状信息的通知发送给产品A、B、C的现状信息的观察者W(对应于通知接受方)。观察者W集合地接收各产品名称的现状信息,因此减轻了观察者W的针对各产品名称对现状信息进行分类的负担。
Description
技术领域
本发明涉及一种在现状(presence)系统中对现状进行管理的方法。
背景技术
现状系统是一种对现状体(presentity)(如人和物)的当前状态(即,现状信息)进行管理的系统。利用现状系统,如果更新了任何现状体的现状信息,则实时地将该现状信息通知给已订购(subscribe)该现状体的现状信息的观察者(watcher)。
近年来,RFID技术(其可以在无人介入的情况下发送和接收信息)已开始用于产品管理系统,如产品分销系统和库存管理系统。在常规产品管理系统中,按所有权方式执行信息管理。然而,期望越来越多地将现状系统应用于产品管理。这是因为现状系统可以管理产品(或物品)的当前状态并实时地通知更新信息。
在常规现状系统中,每当更新了现状信息时,都将该更新的现状信息通知给观察者。然而,当试图使现状系统适合于对产品的管理时,对现状信息的通知数量极大地增加了。结果,观察者难以高效地管理现状信息。例如,为了高效地管理产品,观察者必须自己对产品的现状信息进行分类。此外,观察者必须逐个地订购许多产品中的每一个的现状信息。因此,存在不利地增大了观察者的负担的问题。
此外,存在如下问题:如果每当许多产品的现状信息更新了时都将现状通知给观察者,那么通知频率增高并且信息传输量显著增大,这会增大网络负荷。
JP2004-72485A公开了现状通知方法的技术,其中,如果应当向观察者通知现状信息,则每固定时段将所有现状信息合并起来并进行发送。
发明内容
在JP2004-72485A的发明中,进行构思以在一定程度上实现减少现状信息的通知数量和降低网络负荷的效果。在JP2004-72485A中叙述的技术实现该效果的一个方式是:对每观察者的多个现状体的现状信息的更新进行合并。因此,从观察者的角度来看,这导致接收包括各种现状信息的现状信息。从根本上说,该方法并未解决所述问题,这是因为:为了对现状信息进行高效管理,各观察者必须自己对现状信息进行分类。此外,逐个订购大量产品(或物品)的负担仍然存在。
本发明的一个目的是减轻使用现状系统来订购人和物的现状信息的观察者的负担。
为了解决上述多个问题,本发明的第一方面提供了一种由连接到多个客户端的现状管理设备来执行的现状管理方法,其包括以下步骤:
·管理步骤,其从所述客户端接收包括属性值的现状信息,并将所接收的现状信息的提供方客户端与所述现状信息相关联并进行存储;
·通知接受方(notificaticn recipient)管理步骤,其存储通知接受方管理表,在该通知接受方管理表中将通过所述管理步骤管理的现状信息的提供方客户端与各提供方客户端的现状信息的通知接受方客户端相关联;
·聚合步骤,其生成聚合现状信息,该聚合现状信息包括对其的通知被发送给同一通知接受方客户端的多个提供方客户端的现状信息中的具有相同的属性值的现状信息;以及
·聚合通知步骤,其向所述通知接受方客户端通知通过所述聚合步骤生成的聚合现状信息。
由包括服务器和多个客户端的现状系统执行本现状管理方法。客户端包括现状提供设备、现状信息通知接受方等。属性值是现状信息的一部分的值。具体来说,可以列举产品名称、位置等作为规定的标签的示例,但是规定的标签并不具体限制于这些示例。
所述现状管理方法如下地运作。例如,让我们考虑其中属性是产品名称并且产品A、B、C具有相同的属性值“DVDRecorder”的情况。所述服务器生成包括产品A、B、C(对应于提供方)的现状信息的聚合现状信息,并向观察者W(对应于所述通知接受方)发送包括产品A、B、C的现状信息的通知。观察者W集合地接收同一产品名称的现状信息,因此减轻了观察者W的对每个产品名称的现状信息进行分类的负担。
根据本发明的第二方面,所述通知接受方管理步骤接受对通过所述管理步骤管理的现状信息的提供方客户端与其现状信息的通知接受方客户端的新关联的注册,并且还将所接受的关联存储在所述通知接受方管理表中。在该方面中,所述聚合步骤包括以下子步骤:1)提取由在所述新关联中的提供方客户端的现状信息所包括的属性值;2)对所述通知接受方管理表进行搜索,以查找如下的已有提供方客户端,该已有提供方客户端是与所述新关联中的通知接受方客户端相关联的已有提供方客户端,并且其中所述提取的属性值包括在该已有提供方客户端的现状信息中;以及3)生成聚合现状信息,其包括所搜索出的已有提供方客户端的现状信息和所述新提供方客户端的现状信息;此外,所述聚合通知步骤将所述聚合现状信息通知给所述新通知接受方客户端。
针对每个新订购,将具有与新伙伴的属性值相同的属性值的已有伙伴的现状信息与该新伙伴的现状信息聚合在一起。针对每个观察者执行该聚合。由此,可以减轻观察者的对伙伴逐个地进行分类的负担。
根据本发明的第三方面,所述管理步骤接受对新客户端及其现状信息的注册。在该方法中,所述聚合步骤包括以下子步骤:1)指定具有与所述新客户端的属性值相同的属性值的现状信息的提供方客户端,及其现状信息的通知接受方客户端;和2)生成聚合现状信息,其包括所述指定的提供方客户端的现状信息和所述新客户端的现状信息。在本方面中,所述聚合通知步骤向通过所述聚合步骤指定的所述通知接受方客户端通知通过所述聚合步骤生成的聚合现状信息。
当注册了新现状体及其现状信息P1时,该现状信息P1与具有与该现状信息P1相同的属性值的现状信息P2、P3...被聚合在一起。将该聚合现状信息通知给已有现状信息P2、P3...的通知接受方。换句话说,即使在没有订购所述新现状体的现状信息P1的情况下,已有现状信息P2、P3...的观察者也可以查询作为所述聚合现状信息的一部分的现状信息P1。因此,如果一个接一个地注册新现状体,则减轻了观察者的对伙伴逐个地进行注册的负担。
根据本发明的第四方面,所述聚合步骤包括以下步骤:1)从任意客户端接受对包括属性值的聚合条件的指定;2)从其中所述通知接受方管理表中的所述指定方客户端是所述通知接受方的现状信息中指定具有所述指定的属性值的现状信息的提供方客户端;以及3)生成包括所述指定的提供方客户端的现状信息的聚合现状信息。在本方面中,所述聚合通知步骤向所述聚合条件的指定方客户端发送对所生成的聚合现状信息的通知。
从观察者接受对至少一个属性值的指定,并对该观察者的伙伴的现状信息中的包括该属性值的现状信息进行聚合。由此,观察者可以基于个人自身喜好的分类准则容易地对伙伴进行分类。
根据本发明的第五方面,所述管理步骤从任意客户端接受对现状信息的更新。在本方法中,所述聚合步骤包括以下子步骤:1)指定具有与所述更新的现状信息相同的属性值的现状信息的提供方客户端;2)在所述通知接受方管理表中指定与所述指定的提供方客户端相关联的通知接受方客户端;以及3)生成聚合现状信息,其包括所述指定的提供方客户端的现状信息和所述更新的现状信息。此外,所述聚合通知步骤向通过所述聚合步骤指定的所述通知接受方客户端发送通过所述聚合步骤生成的对聚合现状信息的通知。
即使更新了现状信息并且聚合现状信息动态变化,也向所述通知接受方通知最新的聚合现状信息。因此,即使现状信息动态变化,观察者也可以以属性为单位来监测该变化。
根据本发明第六方面,所述聚合步骤存储将以下各项相关联的聚合信息表:所述相同的属性值;聚合对象现状信息的提供方客户端,该聚合对象现状信息是具有所述相同的属性值的现状信息;基于所述聚合对象现状信息生成的聚合现状信息的标识符;以及所述聚合现状信息的所述通知接受方客户端。在本方面中,所述管理步骤将以下两项相关联并进行管理:通过所述聚合步骤生成的聚合现状信息;和所述聚合现状信息的标识符。
由于将聚合现状信息及其通知接受方预先存储在服务器侧,因此不必在客户端侧保存或管理聚合现状信息。因此,减轻了观察者的对从大量客户端提供的现状信息进行查询的负担。此外,不一定需要将聚合现状信息本身存储在所述聚合信息表中。例如,可以列举如下方面,其中将构成用于进行聚合的关键字的属性值、具有该属性值的现状信息的提供方、聚合现状信息的标识符等与所述通知接受方相关联,并进行存储。
根据本发明的第七方面,所述现状管理方法还包括取消步骤,该取消步骤包括以下子步骤:从任意客户端接受对存储在所述聚合信息表中的任何属性值的指定;和从所述聚合信息表删除在其客户端是所述通知接受方客户端的聚合现状信息中的具有所述指定的属性值的聚合现状信息的条目。
根据本发明的第八方面,所述聚合步骤包括以下子步骤:
如果由所述管理步骤管理的任意现状信息的属性值发生了变化,则更新所述聚合信息表;
判断具有与所述现状信息变化之前的属性值相同的属性值的现状信息的提供方客户端的数量是否下降到低于规定值;以及
如果判定所述提供方客户端的数量已下降到低于所述规定值,则在所述聚合信息表中删除与所述属性值相关联的条目。
如果具有所述相同属性值的现状信息的数量由于现状信息的变化而变得过于小,则可以取消聚合,因为聚合不再有意义。在此情况下,优选地,通过对所述聚合现状信息的通知的接收来确认该取消。根据所述现状信息的性质,以下可能不是优选的:取消聚合,而不通知所述聚合现状信息的观察者。
根据本发明的第九方面,所述现状管理方法还包括聚合许可获取步骤,该聚合许可获取步骤在所述聚合现状信息的生成之前将关于进行聚合的合适性的询问发送给具有所述相同属性值的现状信息的提供方客户端,并获取对该询问的响应。此外,所述聚合步骤根据在所述聚合许可获取步骤中获取的响应生成聚合现状信息。
从现状体的观点来看,存在如下风险:将现状体自己的现状信息连同具有同一属性的其他现状体的现状信息一起作为现状信息无意地并且不幸地提供给第三方。因此,通过在聚合之前询问现状信息的提供方,可以保护该提供方的隐私。
可以针对每次聚合进行询问。此外,可以发送关于所述聚合许可规则的询问,并且,基于其响应,可以决定所述聚合许可规则,并且还可以基于其响应作出针对是否执行聚合的确定。
根据本发明的第十方面,所述现状管理方法还包括聚合许可获取步骤的步骤,该聚合许可获取步骤在所述聚合现状信息的生成之前将关于是否适合进行聚合的询问发送给所述聚合现状信息的通知接受方客户端,并获取对该询问的响应。此外,所述聚合步骤根据在所述聚合许可获取步骤中获取的响应生成聚合现状信息。
从观察者的观点来看,通过使得预先发送关于是否执行聚合的询问,可以判断进行聚合的必要性。可以针对每次聚合进行询问。此外,可以发送关于所述聚合许可规则的询问,并且,基于对其的响应,可以决定所述聚合许可规则,并且可以基于对此作出针对是否执行聚合的确定。
根据本发明的第十一方面,所述现状管理方法还包括通知规则存储步骤的步骤,该通知规则存储步骤存储定义了聚合现状信息的通知条件的通知规则。此外,所述聚合步骤基于所述通知规则判断是否生成聚合现状信息。
规定的通知规则定义了所述聚合现状信息的通知条件,例如,所述聚合现状信息的生成条件、用于通知的通信业务以及通知定时。可以列举的规定生成条件的通知规则的示例有:“‘每预定时段’、‘每隔聚合对象现状信息的5个变化’生成聚合现状信息,等等”。可以在服务器上预存储通知规则。此外,可以从观察者接受对通知规则的指定,并且可以存储所指定的通知规则。
根据本发明的第十二方面,所述现状管理方法还包括以下步骤:通知规则存储步骤,其存储定义了聚合现状信息的通知条件的通知规则。在本现状管理方法中,所述聚合步骤基于所述通知规则判断是否生成聚合现状信息。此外,所述聚合通知步骤基于所述通知规则判断是否发送所述聚合现状信息。
根据本发明,基于所述通知规则对聚合现状信息的生成条件和通知定时进行控制。可以列举的规定通知定时的通知规则的示例有:“每预定时段发送对聚合现状信息的通知”和“每当生成了聚合现状信息时发送对所生成的聚合现状信息的通知”。如果存在大量待聚合的现状信息并且如果每当各条现状信息变化时都发送对聚合现状信息的通知,则存在通知频率极度升高的风险。因此,优选地,设置通知定时,使得按合适的时间间隔发送对聚合现状信息的通知。由此,可以降低观察者的监测负担和网络的负担。
根据本发明的第十三方面,所述现状管理方法还包括通知规则存储步骤,该通知规则存储步骤存储定义了聚合现状信息的通知条件的通知规则。此外,所述聚合通知步骤基于所述通知规则判断是否发送所述聚合现状信息。
在本发明中,基于所述通知规则对聚合现状信息的发送定时进行控制。
本发明的第十四方面提供了一种连接到多个客户端的现状管理设备。该设备包括以下装置:
·管理装置,其从所述客户端接收包括属性值的现状信息,并将所接收的现状信息的提供方客户端与所述现状信息相关联并进行存储;
·通知接受方管理装置,其存储通知接受方管理表,该通知接受方管理表将通过所述管理装置管理的现状信息的提供方客户端与各提供方客户端的现状信息的通知接受方客户端相关联;
·聚合装置,其生成聚合现状信息,该聚合现状信息包括对其的通知被发送给同一单个通知接受方客户端的多个提供方客户端的现状信息中的具有相同的属性值的现状信息;以及
·聚合通知装置,其向所述通知接受方客户端通知通过所述聚合装置生成的聚合现状信息。
本发明的现状管理设备执行第一方面的现状管理方法。
本发明的第十五方面提供了一种由连接到多个客户端的计算机执行的现状管理程序。该程序使得该计算机充当:
·管理装置,其从所述客户端接收包括属性值的现状信息,并将所接收的现状信息的提供方客户端与所述现状信息相关联并进行存储;
·通知接受方管理装置,其存储通知接受方管理表,该通知接受方管理表将通过所述管理装置管理的现状信息的提供方客户端与各提供方客户端的现状信息的通知接受方客户端相关联;
·聚合装置,其生成聚合现状信息,该聚合现状信息包括对其的通知被发送给同一通知接受方客户端的多个提供方客户端的现状信息中的具有相同的属性值的现状信息;以及
·聚合通知装置,其向所述通知接受方客户端通知通过所述聚合装置生成的聚合现状信息。
本发明的所述程序使得计算机执行如第一方面所述的方法。
本发明的第十六方面提供了一种计算机可读记录介质,其上记录有使得计算机充当连接到多个客户端的现状管理设备的现状管理程序。该程序使得该计算机充当:
管理装置,其从所述客户端接收包括属性值的现状信息,并将所接收的现状信息的提供方客户端与所述现状信息相关联并进行存储;
通知接受方管理装置,其存储通知接受方管理表,该通知接受方管理表将通过所述管理装置管理的现状信息的提供方客户端与各提供方客户端的现状信息的通知接受方客户端相关联;
聚合装置,其生成聚合现状信息,该聚合现状信息包括对其的通知要被发送给同一通知接受方客户端的多个提供方客户端的现状信息中的具有相同的属性值的现状信息;以及
聚合通知装置,其向所述通知接受方客户端通知通过所述聚合装置生成的聚合现状信息。
本发明实现了与上述第十五方面中的操作效果相同的操作效果。
本发明的第十七方面提供了一种现状查询设备,其连接到对多个现状提供设备的现状信息进行管理和发布的现状管理设备,该现状查询设备包括:
接收装置,其从所述现状管理设备接收包括属性值的所述现状信息;和
显示装置,其根据所述属性值对所述接收的现状信息进行分类和显示。
该现状查询设备是第一发明的客户端的一个方面。该现状查询设备显示现状信息并聚合现状信息,使得可以区分它们。
本发明的第十八方面提供了一种由连接到现状管理设备的计算机执行的现状查询程序,该现状管理设备对多个现状提供设备的现状信息进行管理和发布。该程序使得该计算机充当:
接收装置,其从所述现状管理设备接收包括属性值的所述现状信息;和
显示装置,其根据所述属性值对所述接收的现状信息进行分类和显示。
本发明的所述程序使得计算机充当第十七方面的现状查询设备。
本发明的第十九方面提供了一种其上记录有由连接到现状管理设备的计算机来执行的现状查询程序的计算机可读记录介质,该现状管理设备对多个现状提供设备的现状信息进行管理和发布。该程序使得该计算机充当:
接收装置,其从所述现状管理设备接收包括属性值的所述现状信息;和
显示装置,其根据所述属性值对所述接收的现状信息进行分类和显示。
本发明具有与第十八方面相同的操作效果。
根据本发明,按照属性对多个提供方客户端的现状信息进行聚合,并发送对其的通知,因此观察者可以接收包括具有相同属性值的更新后的现状信息的通知。因此,减轻了观察者的对其接收的现状信息进行分类的负担。
根据以下详细说明,本领域的技术人员将显见本发明的这些和其他目的、特征以及优点,以下详细说明结合附图公开了本发明的优选实施例。
附图说明
图1是示出根据第一实施例的现状系统的结构的说明图。
图2(A)是示出图1的服务器S的功能和结构的框图,图2(B)是示出图1的客户端C的功能和结构的框图。
图3是示出伙伴(buddy)列表的一个示例的说明图。
图4是示出观察者列表的一个示例的说明图。
图5是示出聚合(aggregation)信息表的一个示例的说明图。
图6是示出菜单屏面的一个示例的说明图。
图7是示出订购屏面的一个示例的说明图。
图8是示出新现状体注册屏面的一个示例的说明图。
图9是示出聚合请求屏面的一个示例的说明图。
图10是示出聚合取消请求屏面的一个示例的说明图。
图11是示出采用XML格式描述的聚合规则的一个示例的说明图。
图12是示出采用XML格式描述的聚合许可规则的一个示例的说明图。
图13是示出通知规则指定屏面的一个示例的说明图。
图14是示出采用XML格式描述的通知规则(通信业务)的一个示例的说明图。
图15是示出采用XML格式描述的通知规则(通知定时)的另一示例的说明图。
图16是示出采用XML格式描述的现状聚合取消规则的一个示例的说明图。
图17是示出由服务器S执行的订购聚合处理的流程的一个示例的流程图。
图18是示出由服务器S执行的新现状体聚合处理的流程的一个示例的流程图。
图19是示出由服务器S执行的条件指定聚合处理的流程的一个示例的流程图。
图20是示出由服务器S执行的条件指定聚合取消处理的流程的一个示例的流程图。
图21(A)是示出根据第二实施例的(在现状信息变化之前的)伙伴列表的一个示例的说明图,图21(B)是示出根据第二实施例的(在现状信息变化之前的)观察者列表的一个示例的说明图,图21(C)是示出根据第二实施例的(在现状信息变化之前的)聚合信息表的一个示例的说明图。
图22(A)是示出根据第二实施例的(在现状信息变化之后的)伙伴列表的一个示例的说明图,图22(B)是示出根据第二实施例的(在现状信息变化之后的)观察者列表的一个示例的说明图,图22(C)是示出根据第二实施例的(在现状信息变化之后的)聚合信息表的一个示例的说明图。
图23是示出由服务器S执行的现状变化聚合处理的流程的一个示例的流程图。
图24是示出由服务器S执行的现状变化聚合取消处理的流程的一个示例的流程图。
具体实施方式
术语定义
首先定义用于现状系统的术语,在以下多个实施例中对该现状系统进行说明。
现状体:现状体是设置现状信息的实体,并对应于以下多个实施例中的客户端。
观察者(订购者(subscriber)):观察者是订购至少一个其他实体的现状信息的实体,并且在该现状信息被更新时接收该现状信息。由于该实体位于订购至少一个其他实体(其为被订购实体)的现状信息的一侧,因此有时将观察者称为订购者。
伙伴(被订购者(subscribee)):伙伴是由希望订购该被订购实体的现状信息的实体指定的被订购实体。有时将位于被订购侧的实体称为被订购者。
订购:当特定实体查询(refer)至少一个其他实体的现状信息时发生订购。更精确地,特定实体为了使至少一个其他实体的现状信息发布给它自己,该特定实体在现状系统内将它自己注册为观察者,而将其他实体注册为伙伴。
第一实施例
结构
1.总体系统
图1是示出根据第一实施例的现状系统的结构的说明图。该现状系统包括服务器S和多个客户端C1、C2、C3、C4...(以下,简称为客户端C)。服务器S和客户端C通过网络(如因特网或电话线)相连接。服务器S和客户端C均由计算机终端来实现。
服务器S从各客户端C接收现状信息,并存储各客户端C的最新的现状信息。此外,服务器S将现状信息发布给作为该现状信息的观察者的客户端C。在本现状系统中,由服务器S管理的现状信息包括多个属性值。属性值是现状信息的一部分。可以作为属性列举的示例包括产品名称、位置以及姓名,但是属性值并不受到特殊限制。例如,属性值可以是采用XML(可扩展标记语言)格式描述的数据中的标签的名称,该数据构成了现状信息。
在本现状系统中,为每个客户端指定一客户端ID。以下,将提供现状信息的客户端称为现状体,并将查询至少一个其他现状体的现状信息的客户端称为观察者。此外,尽管客户端可以即充当现状体又充当观察者,但是它也可以只具有一个这种功能。此外,将作为现状体的客户端的ID称为现状体ID,将作为观察者的客户端的ID称为观察者ID。2.服务器
图2(A)是示出服务器S的功能和结构的框图。服务器S具有以下功能(a)-(j):
(a)伙伴列表11
(b)观察者列表12
(c)聚合信息表13
(d)规则数据库14
(e)现状管理单元15
(f)现状通知单元16
(g)聚合单元17
(h)聚合许可获取单元18
(i)通知规则设置单元19
(j)取消单元110
以下对各功能的详情进行描述。
(a)伙伴列表
图3是示出伙伴列表11的一个示例的说明图。伙伴列表11将“订购者ID”与“伙伴ID”相关联并存储它们。订购者是至少一个其他客户端(其被称为伙伴)的观察者。以下,将订购者的客户端ID简称为订购者ID。伙伴是已被订购者订购的现状体。以下,将伙伴的客户端ID称为伙伴ID。通过订购者指定并订购伙伴ID,将订购者ID与伙伴ID关联并注册在伙伴列表11中。
(b)观察者列表
图4是示出观察者列表12的一个示例的说明图。观察者列表12将被订购者的“被订购者ID”、“现状信息”与“观察者ID”相关联并存储它们(对应于管理步骤和通知接受方管理步骤)。被订购者对应于上述伙伴列表11中的伙伴。将被订购者的客户端ID称为被订购者ID。观察者对应于上述伙伴列表11中的订购者。将观察者的客户端ID称为观察者ID。当将订购者ID和伙伴ID注册在伙伴列表11中时,将伙伴ID注册为观察者列表12中的被订购者ID,将订购者ID注册为观察者列表12中的观察者ID。通过现状管理单元15存储现状信息。
在本发明中,将虚拟客户端ID(其被称为聚合现状体并与实际存在的客户端ID不同)表示为被订购者ID。聚合现状体是聚合现状信息的现状体。聚合现状信息是与同一观察者相关联的多个现状体的现状信息,并包括具有相同属性值的现状信息。本示例对其中观察者“User1”订购聚合现状体ID为“User1_DVDRecorder”的聚合现状信息的情况进行描述。
此外,在本示例中,观察者列表12用作对各被订购者ID所指定的客户端的现状信息进行管理的表。
(c)聚合信息表
图5是示出聚合信息表13的一个示例的说明图。聚合信息表13将“订购者ID”、“聚合属性”、“聚合现状体ID”以及“聚合对象现状体ID”相关联并存储它们。
“订购者ID”是聚合现状信息的观察者的客户端ID。“聚合属性”是所聚合的现状信息共有的属性值。换句话说,在通知给特定观察者的现状信息中,将具有相同属性值的现状信息聚合在聚合现状信息中。以下,将聚合在聚合现状信息中的现状信息称为聚合对象现状信息。
“聚合现状体ID”是一标识符,其指定了作为聚合现状信息的现状体的聚合现状体。将各聚合现状体ID设置成使得它不与任何客户端ID相重复。
“聚合对象现状体ID”是指定了聚合对象现状体的客户端ID。聚合对象现状体是聚合对象现状信息的现状体。
在该图中,例如,在由观察者“User1”订购的现状信息中,具有属性值“DVDRecorder”的现状信息的现状体是“Item1”、“Item2”以及“Item10”。包括现状体“Item1”、“Item2”以及“Item10”的现状信息在内的聚合现状信息的现状体是“User1_DVDRecorder”。因此,向观察者“User1”通知包括现状体“Item1”、“Item2”以及“Item10”的现状信息的在内聚合现状信息“User1_DVDRecorder”。
(d)规则数据库
规则数据库14存储有各种规则。例如,规则数据库14中存储有聚合规则、聚合许可规则、特征(profile)定义以及通知规则。以下讨论各规则的详情。
(e)现状管理单元
现状管理单元15从任意客户端C接收设置现状信息(其包括多个属性)的指令,并将其写入观察者列表12。由此,将最新的现状信息保持在观察者列表12中(对应于管理步骤)。此外,现状管理单元15从任意客户端C接受对订购的请求和对取消订购的请求,并更新伙伴列表11和观察者列表12。现状管理单元15还可以从由现状系统的管理员操作的客户端C接受新客户端C的注册。此外,在本实施例中,现状管理单元15从客户端C接受进行聚合的指令、取消聚合的指令以及聚合现状信息的通知规则的指令,并将这些接受的指令传递给聚合单元17、取消单元110以及通知规则设置单元19。
更具体来说,现状管理单元15为客户端C提供菜单屏面、子菜单屏面等,并在这些屏面中接受对现状信息的设置、进行订购的指令等。使用诸如JavaScript(注册商标)、VBScript、PerlScript等技术来获取输入内容、在客户端侧等上显示各种屏面等。此外,也可以在客户端C侧上执行对菜单屏面、子菜单屏面等的绘制。执行该绘制的定时例如包括:在客户端C启动时、在发送对现状信息的通知时、在接受来自操作员的指令时等。对于要求实时性能的现状系统,优选地,在客户端C侧绘制这些屏面。
图6是示出菜单屏面的一个示例的说明图。菜单屏面是用于从操作客户端C的操作员接受各种指令的界面,并接受对订购的请求、对新现状体的注册以及进行聚合或取消聚合的指令。此外,只有现状系统的管理员的客户端才能点击“注册新现状体按钮”,这从现状系统的安全性角度来说是优选的。
图7是示出订购屏面的一个示例的说明图,该订购屏面是多个子菜单屏面中的一个。在图6的菜单屏面中,如果点击了“订购按钮”,则在客户端侧显示订购屏面。该菜单至少接受对伙伴ID的指定。将所接受的伙伴ID连同客户端ID(即,订购者ID)一起从客户端C发送到服务器S。服务器S的现状管理单元15将所接收的伙伴ID和订购者ID分别注册在伙伴列表11和观察者列表12中。此外,在观察者列表12中将伙伴ID注册为被订购者ID,在伙伴列表11中将订购者ID注册为观察者ID。
图8是示出新现状体注册屏面(其为多个子菜单屏面中的一个)的一个示例的说明图。如果点击了图6的菜单屏面中的“注册新现状体按钮”,则在客户端侧显示新用户注册屏面。该屏面至少接受对现状体ID和初始现状信息的指定。将所接受的现状体ID和初始现状信息从客户端C发送到服务器S。服务器S的现状管理单元15在观察者列表12中生成新条目,将所接收的现状体ID的值写入为被订购者ID,并将初始现状信息写入为现状信息。
在其中单个现状体可以具有多个现状体的现状信息的现状系统中,可以类似地接受对已有现状体的新现状信息的注册。
图9是示出聚合请求屏面(其为多个子菜单屏面中的一个)的一个示例的说明图。如果点击了图6的菜单屏面中的“聚合按钮”,则在客户端侧显示聚合请求屏面。该屏面接受对聚合条件的指定(至少包括聚合属性值)。该聚合条件可以附加地包括待聚合的现状信息的最小数量、对达到最小聚合数时是自动进行聚合还是在执行聚合之前进行询问的设置,等等。该屏面还接受对最小聚合数的指定作为聚合条件。将所接受的聚合条件和聚合请求命令均从客户端C发送给服务器S。服务器S的现状管理单元15将所接收的聚合属性值和最小聚合数传递给聚合单元17。聚合单元17基于所传递的聚合属性值、最小聚合数等执行聚合。
图10是示出聚合取消请求屏面(其为多个子菜单屏面中的一个)的一个示例的说明图。如果点击了图6中的菜单屏面的“取消聚合按钮”,则在客户端侧显示聚合取消请求屏面。该屏面接受对待取消的聚合现状信息的指定。作为该屏面的示例,接受对聚合属性值的指定作为对聚合现状信息的指定。将所接受的聚合属性值连同聚合取消命令和客户端ID一起从客户端C发送到服务器S。现状管理单元15将所接收的聚合属性值和客户端ID传递给取消单元110。取消单元110基于所传递的聚合属性值和客户端ID来删除聚合信息表13中的对应条目。
(f)现状通知单元
现状通知单元16对写入观察者列表12的现状信息进行监测,并且如果有现状信息被更新,则将对所更新的现状信息的通知发送给该现状信息的观察者。所述现状信息还包括聚合现状信息。因此,如果写入观察者列表12中的聚合现状信息被更新,则现状通知单元16类似地将该聚合现状信息通知给该聚合现状信息的观察者(对应于聚合通知步骤)。
现状通知单元16可以根据后述通知规则来发送对聚合现状信息的通知。因此,现状通知单元16对通信业务进行控制,该通信业务例如用于发送对聚合现状信息的通知,如在以下(i)和(ii)中那样。此外,现状通知单元16对发送对聚合现状信息的通知的定时进行控制,如在以下(iii)和(iv)中那样。
(i)使用通信业务CS1发送通知
(ii)使用通信业务CS2发送通知
(iii)按照聚合对象现状信息中的任何和每个变化发送对聚合现状信息的通知
(iv)按每固定时段发送对聚合现状信息的通知
(g)聚合单元
在被通知给任意观察者的多个现状体的现状信息中,聚合单元17生成包括具有相同属性值的现状信息的聚合现状信息(对应于聚合步骤)。聚合单元17根据聚合规则执行聚合。以下对聚合的定时、聚合的执行以及聚合规则进行说明。
(聚合定时)
聚合的定时不受特殊限制。在本实施例中,根据以下3个定时生成聚合现状信息。
(i)在进行订购时:通过在进行订购时执行聚合,对新伙伴和属性值与该新伙伴相同的现状信息的已有伙伴进行聚合,因此可以减轻观察者的对新伙伴逐个地进行分类的负担。
(ii)在注册新现状体时:通过每当注册新现状体时执行聚合,已有现状信息的观察者可以查询已注册伙伴的现状信息,和新现状体的现状信息,作为聚合现状信息的一部分,而不必订购新现状体的现状信息。因此,可以减轻观察者的将新现状体(其被一个接一个地注册)逐个地注册为伙伴的负担。
(iii)在用户给出聚合指令时:通过根据其中用户作出指定的指令进行聚合,观察者可以容易地基于个人自身喜好的分类准则对伙伴进行分类,而且减轻了对伙伴逐个地进行分类的负担。
(聚合的执行)
由聚合单元17执行的聚合具体包括以下步骤:i)生成新聚合现状体ID;ii)指定该聚合现状体的观察者;iii)确定聚合属性值;iv)指定聚合对象现状体ID;v)更新聚合信息表13;vi)生成聚合现状信息;以及vii)更新观察者列表12。即,聚合单元17在聚合信息表13中生成新条目,并写入订购者ID、聚合属性值、聚合现状体ID以及新聚合对象现状体ID。此外,聚合单元17生成聚合现状信息(其包括所写入的每个聚合对象现状体ID的所有现状信息),并将其写入观察者列表12。与所写入的聚合现状信息相关联的被订购者ID是聚合现状体ID。由于将聚合现状信息存储在观察者列表12中,因此观察者可以在任意时刻查询它。因此,减轻了观察者的存储和管理聚合现状信息的负担。
(聚合规则)
图11是示出采用XML格式描述的聚合规则的一个示例的说明图。聚合单元17基于这些聚合规则执行聚合,并且还能够判断是否适合执行聚合。可以由聚合单元17基于在图9中的聚合请求屏面中指定的聚合属性值、最小聚合数等生成聚合规则,或者可以将聚合规则预先存储在规则数据库14中。此外,可以所有客户端C共用一个聚合规则,或者针对每个客户端C具有一个聚合规则。在本示例中,为每个客户端ID生成一个聚合规则。通过基于聚合规则判断是否适合执行聚合,观察者可以预先判定是否需要进行聚合。此外,聚合规则并不限于本示例。
例如,考虑客户端“User1”,其将聚合设置成,如果具有其中属性“product(产品)”的值是“DVDRecorder”的现状信息的伙伴的数量达到3个,则自动执行聚合。因此,如果具有其中属性“product”的值是“DVDRecorder”的现状信息的伙伴的数量达到3个,则聚合单元17执行聚合。同时,如果具有其中属性“product”的值是“LCDTV”的现状信息的伙伴的数量达到5个,则客户端“User1”提出是否适合进行聚合的询问。聚合单元17基于该提出将该询问发送给观察者,如果聚合单元17接收到“不进行聚合”的响应,则暂时不执行聚合。
(h)聚合许可获取单元
聚合许可获取单元18询问聚合对象现状信息的现状体(即,聚合对象现状体)是否许可根据聚合许可规则进行聚合。可以由聚合许可获取单元18根据对针对聚合对象现状体的询问的响应来生成聚合许可规则,或者可以将聚合许可规则预先存储在规则数据库14中。在由聚合单元17执行聚合之前通过聚合许可获取单元18将上述询问发送给聚合对象现状体。所有客户端机C可以共用一个聚合许可规则,或者每个客户端机C具有一个聚合许可规则。
图12是示出存储在规则数据库14中的聚合许可规则的一个示例的说明图。在该示例中,为构成现状体的每个客户端ID生成聚合许可规则。例如,考虑客户端“Item1”,当对它自己的其中属性“product”的值是“DVDRecorder”的现状信息进行聚合时,其许可客户端“User1”的聚合,拒绝其他客户端“user9”的聚合,并提出是否对除此之外的其他客户端进行聚合的询问。
通过设置聚合许可规则,从聚合对象现状体的观点来看,可以防止将现状体自己的现状信息连同无意地具有同一属性的其他现状体的现状信息无意地提供给第三方。因此,可以保护聚合对象现状体的隐私。
此外,聚合许可规则的内容并不限于上述示例,例如,可以设想,可以通过属性而非客户端ID来指定经受关于聚合的许可、拒绝或询问的客户端。此外,可以通过利用时间间隔、客户端自己的现状信息的属性等来设置聚合许可等。
(i)通知规则设置单元
通知规则设置单元19从聚合现状信息的观察者接受对聚合现状信息的通知条件的指定,基于所指定的通知条件生成通知规则,并将所指定的通知规则存储在规则数据库14中。现状通知单元16根据存储在规则数据库14中的通知规则发送对聚合现状信息的通知。
图13是示出通知规则指定屏面的一个示例的说明图。例如,如果在图9中的聚合请求屏面中点击“聚合按钮”,则在客户端侧显示通知规则指定屏面。此外,针对图6中的菜单屏面中的聚合现状信息而设置通知规则设置按钮,如果点击了该按钮,则可以显示通知规则指定屏面。通知规则指定屏面从聚合现状信息的观察者接受对聚合现状信息的通知条件的指定。在本示例中,将通信业务和通知定时设置为通知条件。将所接受的通知条件从客户端C发送到服务器S。服务器S的现状管理单元15将所接收的通知条件传递给通知规则设置单元19。通知规则设置单元19基于所传递的通知条件生成通知规则,并将其注册在规则数据库14中。
图14是示出采用XML格式描述的通知规则的一个示例的说明图。这些通知规则定义了由通知规则指定屏面指定的通信业务。例如,将通信业务“profile1”设置为现状系统的预定义通信业务,并将其描述为“带宽较窄,费用高”。通信业务“User1_profile1”是由客户端设置的通信业务,其被描述为“带宽较宽,费用中等”。
图15是示出采用XML格式描述的通知规则的另一示例的说明图。这些通知规则定义了由通知规则指定屏面指定的通知定时。例如,通知定时“method1”是由现状系统预定义的通知定时,其被定义为“每隔30分钟发送通知,该通知包括其现状信息最近被更新了的10个聚合对象的现状信息”。此外,通知定时“User1_method1”是“由客户端定义的通知定时”,其被定义为“如果自从最近修改了聚合现状信息以后一分钟内没有更新,则发送包括所有聚合对象现状信息的通知”。
如果将通知定时设置为使得按合适的时间间隔发送对聚合现状信息的通知,则可以抑制对聚合现状信息的频繁的通知。因此,可以减轻观察者的监测负担以及对网络的负担。
(j)取消单元
取消单元110取消聚合。可以设想的用于进行取消的判断准则包括:当已指定聚合取消对象时、当不再满足聚合条件时,等等。由现状聚合取消规则定义判断准则。接下来,对这两个判断准则和现状聚合取消规则进行更详细的说明。
(通过指定进行取消)
通过聚合取消请求屏面(如上所述,在图10中例示了其一个示例)接受取消指定,并将其从客户端C发送到服务器S。取消单元110从现状管理单元15获取聚合属性值(图10中的聚合取消请求屏面指定了该聚合属性值)和观察者ID,并取消对所指定的聚合现状信息的聚合。更具体来说,对聚合的取消是从观察者列表12和聚合信息表13中删除所指定的聚合现状信息的条目。
更具体来说,取消单元110使用所指定的聚合属性值和观察者ID作为关键字对聚合信息表13进行搜索,并指定相关条目。此外,取消单元110获得该条目中所描述的聚合信息现状体ID,并从观察者列表12中指定包括与该聚合信息现状体ID相匹配的被订购者ID的条目。从聚合信息表13和观察者列表12中删除所指定的条目。由此完成了对聚合的取消。
(通过不再得到满足的条件进行取消)
取消单元110取消其中聚合条件不再得到满足的聚合。例如,可以设想,判断是否满足聚合条件的定时是在更新现状信息时。特别地,取消单元110对如下情况进行检测:更新了聚合对象现状体的现状信息,并且其属性值不再与聚合属性值相匹配。随后,取消单元110判断剩余的聚合对象现状体的数量是否大于或等于最小聚合数。如果剩余的聚合对象现状体的数量下降到低于最小聚合数,则取消单元110指定其聚合现状体ID,并从聚合信息表13和观察者列表12中删除包括该ID的条目。
此外,在取消聚合之前,取消单元110可以向观察者发送询问,然后根据对其的响应来执行或暂停对聚合的取消。由此,观察者可以预先知道将取消聚合。
(现状聚合取消规则)
图16是示出采用XML格式描述的现状聚合取消规则的一个示例的说明图。现状聚合取消规则定义用于聚合取消的判断规则。可以将这些规则预先存储在规则数据库14中,或者可以根据从客户端C接受的取消条件来生成它们。存在针对所有客户端C相同的一个现状聚合取消规则,或者针对每个客户端C具有一个现状聚合取消规则。
在图16中的示例中,现状聚合取消规则定义:如果其中属性“product”的值是“DVDRecorder”的现状信息的最小聚合数小于3个,则自动取消客户端“User1”的聚合。此外,如果其中属性“product”的值是“LcdTv”的现状信息的最小聚合数小于5个,则这意味着将向用户发送针对是否取消客户端“User1”的聚合的询问。
3.客户端
再回到图2,下面对客户端C的功能进行说明。图2(B)是示出客户端C的功能和结构的框图。客户端C具有以下构成要素(a)-(d):
(a)现状检测单元21:现状检测单元21检测客户端C或其操作员的现状信息的变化。例如,它检测:是否特定应用正在运行;来自键盘、鼠标等的输入的时间间隔;操作员自己输入的现状信息;等等。
(b)现状更新单元22:现状更新单元22将由现状检测单元21检测到的现状信息发送给服务器S。
(c)现状接收单元23:现状接收单元23从服务器S接收伙伴的现状信息、聚合现状信息等。
(d)现状显示单元24:如果从服务器S提供屏面,则现状显示单元24显示所提供的菜单屏面、子菜单屏面等(参见上述图6到图10以及图13)。如果在客户端C侧绘制屏面,则执行屏面绘制。此外,现状显示单元24在菜单屏面上的规定区中显示现状信息和聚合现状信息,使得可以视觉地区分它们。图6是个示例,该示例示出了对现状信息和聚合现状信息的显示,使得可以区分它们。在该图中,在不同的域中显示聚合现状信息和未聚合现状信息。此外,显示了聚合现状信息的聚合属性值,并且如果点击聚合属性值则会显示聚合对象现状信息。图6示出了如下示例:点击了聚合属性值“desktopPC”,并显示了其聚合对象现状信息和聚合对象现状体ID(Item16和Item23)。
通过例如利用其聚合属性值集合地显示聚合现状信息,可以有效利用有限的显示区。此外,分级地显示大量存在的现状信息,使得可以减轻观察者监测现状信息所需的努力。
处理
(1)聚合
以下列举用于说明由服务器S执行的聚合处理的多个示例。以下,列举多个示例以对以下情况进行说明:在订购时、在注册新用户时以及在客户端请求聚合时对现状信息进行聚合。然而,聚合执行的定时并不限于这些示例。
(1-1)订购聚合处理
图17是示出由服务器S执行的订购聚合处理的流程的一个示例的流程图。当服务器启动时开始该处理。将该处理主要分成聚合完成判断处理、聚合执行处理、聚合推迟处理以及聚合通知处理。
(聚合完成判断处理:S101-S104)
每当新订购现状信息时,聚合完成判断处理基于被订购者所具有的属性来判断是否针对订购者执行聚合。
步骤S101:聚合单元17待机,以等待任何客户端通过现状管理单元15对订购进行请求。如果发生了订购,则处理进行到步骤S102。下面,让我们考虑其中订购者“User1”订购被订购者“Item10”的情况。
步骤S102:聚合单元17从新被订购者的当前现状信息提取一个或更多个属性值。具体来说,聚合单元17从接收自客户端的数据中提出被订购者ID“Item10”。此外,聚合单元17从“观察者表”获得被订购者ID“Item10”的当前现状信息“<product>DVDRecorder</product>transport in progress”。此外,聚合单元17从所获得的现状信息中提取属性值“DVDRecorder”。
步骤S103:聚合单元17搜索聚合信息表13,以查找所提取的属性值“DVDRecorder”。
步骤S104:如果所提取的属性值“DVDRecorder”不在聚合信息表13中,则聚合单元17进行到步骤S105,在步骤S105中聚合单元17执行聚合并发送对聚合现状信息的通知(S105-S111)。即,如果被订购者的属性是未聚合的,则执行聚合。
相反,如果所提取的属性值“DVDRecorder”在聚合信息表13中,则提取对应的聚合现状体ID“User1_DVDRecorder”,然后处理进行到后述步骤S114。即,如果聚合了被订购者的属性,则更新聚合信息表13,并将对聚合现状信息的通知发送给订购者。
(聚合执行处理:S105-S112)
在聚合执行处理中,如果已存在具有同一属性但是未被聚合的规定数量的被订购者,则执行聚合,并将聚合对象现状体的集合现状信息通知给订购者。
步骤S105:如果未聚合新订购的现状信息,则聚合单元17从伙伴列表11获得与订购者ID“User1”相关联的已有伙伴ID。
步骤S106:聚合单元17对观察者表进行搜索,并获取包括在所获取的已有伙伴ID中的每一个的现状信息中的属性值。此外,聚合单元17顺序地对已有伙伴ID的属性值与新被订购者的属性值“DVDRecorder”进行比较,并对具有与该新被订购者的属性值“DVDRecorder”相匹配的属性值的已有伙伴ID的数量进行计数。
步骤S107:聚合单元17判断具有与新被订购者的属性值“DVDRecorder”相匹配的属性值的已有伙伴ID的数量是否大于或等于规定数量。如果它大于或等于所规定的数量,则聚合单元17判定要执行聚合,并且本处理进行到步骤S108。如果它小于所规定的数量,则聚合单元17判定不执行聚合,并且本处理进行到后述步骤S113。
步骤S108:聚合单元17生成新聚合现状体ID,例如“User1_DVDRecorder”。此外,聚合单元17确定聚合对象现状体ID是被订购者ID“Item10”和具有与被订购者“Item10”相同的属性值“DVDRecorder”的已有伙伴ID。
步骤S109:聚合单元17将请求传递给现状管理单元15,以将被订购者ID和观察者ID注册在观察者列表12中。该注册请求包括作为被订购者ID的聚合现状体ID“User1_DVDRecorder”,和作为观察者ID的订购者ID“User1”。作为该注册请求的结果,新条目被添加到观察者列表12中。将被订购者ID“User1_DVDRecorder”和观察者ID“User1”分别写入该条目中。
此外,在伙伴列表11中现状管理单元15将被订购者ID“Item10”添加到对应于订购者“User1”的伙伴ID中。此外,在观察者列表12中将订购者ID“User1”添加到对应于被订购者ID“Item10”的观察者ID中。
步骤S110:聚合单元17在聚合信息表13中生成新条目,并写入订购者ID、聚合属性、聚合现状体ID以及聚合对象现状体ID。在本示例中,分别写入订购者ID“User1”、聚合属性“DVDRecorder”、聚合现状体ID“User1_DVDRecorder”以及聚合对象现状体ID“Item1”、“Item2”、“Item10”。
步骤S111:聚合单元17从观察者列表12获得对应于聚合对象现状体ID的现状信息,并生成包括所有现状信息的聚合现状信息。将所生成的聚合现状信息写入观察者列表12,作为聚合现状体ID“User1_DVDRecorder”的现状信息。
步骤S112:如果更新了观察者列表12的现状信息,则现状通知单元16将所更新的现状信息发送给它的观察者。具体来说,现状通知单元16将聚合现状信息发送给所写入的聚合现状信息的观察者“User1”。(聚合推迟处理:步骤S113)
在聚合推迟处理中,如果尽管尚未聚合被订购者但是具有同一属性值的被订购者的数量尚未达到规定数量,则按通常方式订购这些被订购者,而不进行聚合。
步骤S113:在上述步骤S107中,如果具有与新被订购者的属性值“DVDRecorder”相匹配的属性值的已有伙伴ID的数量小于规定数量,则不执行聚合。在此情况下,聚合单元17请求现状管理单元15执行与通常订购相对应的处理。现状管理单元15将被订购者ID“Item10”添加并注册在伙伴列表11中,作为订购者ID“User1”的伙伴ID。此外,现状管理单元15将订购者ID“User1”添加并注册在观察者列表12中,作为被订购者“Item10”的观察者ID。然后,现状通知单元16将被订购者“Item10”的现状信息通知给观察者“User1”。
(聚合通知处理:S114-S116、S112)
在聚合通知处理中,如果基于新被订购者所具有的属性执行聚合,则将其他聚合对象现状体的现状信息连同该被订购者的现状信息一起通知给订购者。
步骤S114:在步骤S104中,如果聚合了新订购现状信息,则处理进行到步骤S114。聚合单元17向现状管理单元15发行该订购。在该订购中包括有订购者ID“User1”和被订购者ID“Item10”。
根据该订购,现状管理单元15将被订购者ID“Item10”注册为订购者ID“User1”的伙伴ID,并将“User1”注册为被订购者ID“Item10”的观察者ID。
步骤S115:聚合单元17添加并注册被订购者ID“Item10”,作为在步骤S104中提取的聚合现状体ID“User1_DVDRecorder”的聚合对象现状体ID。
步骤S116:聚合单元17生成聚合现状体“User1_DVDRecorder”的聚合现状信息,并将其写入观察者列表12。聚合现状信息包括与该聚合现状体ID相对应的聚合对象现状体ID的所有现状信息。随后,现状通知单元16将所更新的现状信息(在此情况下是该聚合现状信息)发送给它的观察者(S112)。
步骤S117:重复执行上述步骤S101-S116中的处理,直到服务器的电源被切断为止。
每当新订购了现状信息时,都通过上述处理根据需要执行聚合。从观察者的观点来看,通过定购仅仅聚合了与属性相对应的伙伴,这减轻了观察者的手工地对伙伴进行分类的负担。
在上述步骤S108之前,聚合许可获取单元18可以向被订购者ID“Item10”发送针对是否适合聚合现状的询问。在此情况下,根据对其的响应执行从步骤S108开始的处理。
(1-2)新现状体聚合处理
图18是示出由服务器S执行的新现状体聚合处理的流程的一个示例的流程图。由服务器的启动来启动该处理。将该处理主要分为聚合完成判断处理和聚合通知处理。
(聚合完成判断处理:S201-S204)
每当在现状系统中注册新现状体时,聚合完成判断处理基于该现状体所具有的属性来判断是否执行聚合。
步骤S201:聚合单元17进行待机,以等待对通过现状管理单元15对来自任意客户端的新现状体进行注册的请求。如果生成了注册请求,则处理进行到步骤S202。下面,我们来考虑如下情况:管理员的客户端注册新现状体ID“Item10”及其现状信息“<product>DVDRecorder</product>transport in progress”。
步骤S202:现状管理单元15将新现状体ID“Item10”及其现状信息注册在观察者列表12中。
步骤S203:聚合单元17从该新现状体的现状信息中提取属性值,例如“DVDRecorder”。
步骤S204:聚合单元17搜索聚合信息表13,以查找所提取的属性值“DVDRecorder”,并基于该属性值判断是否已执行聚合。
如果聚合单元17在聚合信息表13中未找到所提取的属性值“DVDRecorder”,则处理进行到步骤S210,然后返回到步骤S201,并重复执行前述处理,直到切断了服务器的电源。即,如果未聚合新现状体的属性,则不执行处理。
相反,如果在聚合信息表13中存在与所提取的属性值“DVDRecorder”相匹配的聚合属性值,则聚合单元17进行到后述步骤S205。
(聚合通知处理:S205-S209)
在聚合通知处理中,如果不在基于新现状体所具有的属性执行聚合,则不执行任何处理。然而,如果正在执行聚合,则将该现状体的现状信息连同其他聚合对象现状体的现状信息通知给聚合现状信息的观察者。
步骤S205:聚合单元17向现状管理单元15发行该订购。该订购包括订购者ID“User1”和被订购者ID“Item10”。
根据该订购,现状管理单元15将被订购者ID“Item10”注册为订购者ID“User1”的伙伴ID,并将“User1”注册为被订购者ID“Item10”的观察者ID。
步骤S206:聚合单元17添加并注册新现状体ID“Item10”,作为与聚合属性值“DVDRecorder”相对应的聚合对象现状体ID。
步骤S207:聚合单元17从聚合信息表13获得与聚合属性值“DVDRecorder”相关联的已有聚合对象现状体ID。此外,聚合单元17从聚合信息表13获得与聚合属性值相对应的聚合现状体ID,例如“User1_DVDRecorder”。
步骤S208:聚合单元17生成聚合现状信息并将其注册在观察者列表12中。所生成的聚合现状信息包括已有聚合对象现状体的现状信息,和新注册的现状体“Item10”的现状信息。
步骤S209:根据对观察者列表12中的现状信息的更新,现状通知单元16将聚合现状信息发送给它的观察者。
步骤S210:聚合单元17重复执行以上处理,直到服务器的电源被切断为止。
通过执行以上处理,即使未将新注册的现状体注册为伙伴,也聚合该现状体的现状信息并发送对其的通知。
在上述步骤S205之前,聚合许可获取单元18可以询问新现状体是否可以聚合该新现状体的现状信息。在此情况下,根据对询问的响应执行从步骤S205开始的处理。
这里列举了“当注册新现状体时”的示例,然而,根据具有多个现状体的现状信息的现状管理系统,即使向已有现状体添加新现状信息,也可以执行上述处理。
(1-3)条件指定聚合处理
图19是示出由服务器S执行的条件指定聚合处理的流程的一个示例的流程图。由服务器的启动来启动该处理。在该处理中,根据用户指定的聚合条件来执行聚合。这里,让我们来考虑如下情况:客户端“User1”通过图9中的聚合请求屏面已指定属性值“DVDRecorder”和最小聚合数“3”作为聚合条件。
步骤S301:聚合单元17进行待机,以等待对聚合指令的接收,如果接收到聚合指令,则进行到步骤S302。
步骤S302:聚合单元17提取包括在所接收的聚合指令中的聚合属性值(例如“DVDRecorder”),并搜索聚合信息表13,以查找所提取的聚合属性值“DVDRecorder”。如果在聚合信息表13中没有所提取的聚合属性值“DVDRecorder”,则聚合单元17进行到步骤S303。如果在聚合信息表13中存在聚合属性值“DVDRecorder”,则处理进行到步骤S308,返回步骤S302,并且只要服务器的电源未被切断就进行待机,以等待对新的聚合指令的接收。
步骤S303:聚合单元17根据所指定的新聚合属性值“DVDRecorder”生成新聚合现状体ID,例如“User1_DVDRecorder”。此外,聚合单元17指定聚合对象现状体ID。通过对聚合请求者“User1”的伙伴进行搜索,以查找具有属性值“DVDRecorder”的伙伴,来执行该指定。
步骤S304:聚合单元17将该请求传递给现状管理单元15,以将ID注册在观察者列表12中。该注册请求包括被订购者ID“User1_DVDRecorder”和观察者ID“User1”。通过该注册请求向观察者列表12添加新条目。在本示例中,分别将被订购者ID“User1_DVDRecorder”和观察者ID“User1”写入该新条目。
步骤S305:聚合单元17在“聚合信息表13”中生成新条目,并写入订购者ID、聚合属性值、聚合现状体ID以及聚合对象现状体ID。在本示例中,分别写入订购者ID“User1”、聚合属性值“DVDRecorder”、聚合现状体ID“User1_DVDRecorder”以及聚合对象现状体ID“Item1”、“Item2”、“Item10”。
步骤S306:聚合单元17生成与新生成的聚合现状体ID相对应的聚合现状信息,并将其注册在观察者列表12中。该聚合现状信息包括所有聚合对象现状体的现状信息。
步骤S307:如果更新了观察者列表12的现状信息,则现状通知单元16将聚合现状信息发送给它的观察者。在本示例中,将聚合现状体ID“User1_DVDRecorder”的现状信息发送给聚合请求者“User1”。
步骤S308:重复执行以上步骤S301-S307中的处理,直到服务器的电源被切断为止。
以上处理使得可以基于由用户指定的聚合条件执行聚合。用户仅仅通过指定属性值就可以对伙伴进行分类的能力是有利的,这是因为减轻了用户的对伙伴手工地进行分类的负担,并且可以指定其需要的属性值。
此外,在本实施例中,聚合单元17对聚合信息表13进行搜索,以判断是否聚合了其属性值是所指定的聚合属性值的现状信息。此外,还可以在客户端侧预先对已完成其聚合的聚合属性值进行管理。这样,如果指定了已完成其聚合的聚合属性值,则可以显示错误屏面并防止将聚合指令多余地发送给服务器。
(2)聚合取消
图20是示出由服务器S执行的条件指定聚合取消处理的流程的一个示例的流程图。由服务器的启动来启动该处理。在该处理中,取消对由用户指定的聚合对象的聚合。这里让我们来考虑其中客户端“User1”已通过图10中的聚合取消请求屏面指定了属性值“DVDRecorder”的情况。
步骤S401:取消单元110进行待机,以等待对聚合取消请求的接收,如果接收到聚合取消请求则进行到步骤S402。
步骤S402:取消单元110提取包括在聚合取消请求中的聚合属性值(例如,“DVDRecorder”),并搜索聚合信息表13,以查找所提取的聚合属性值。如果聚合属性值“DVDRecorder”在聚合信息表13中,则处理进行到步骤S403。否则,处理进行到后述步骤S405。
步骤S403:取消单元110指定其中订购者ID与取消请求者ID“User1”相匹配并且聚合属性值是“DVDRecorder”的条目的聚合现状体ID,例如“User1_DVDRecorder”。随后,取消单元110从聚合信息表13中删除该条目。
步骤S404:取消单元110从观察者列表12中删除其中观察者ID与取消请求者ID“User1”相匹配并且被订购者ID与所删除的聚合现状体ID“User1_DVDRecorder”相匹配的条目。
步骤S405:重复执行上述步骤S401-S404的处理,直到服务器的电源被切断为止。
以上处理取消了对用户指定的聚合现状信息的聚合。
第二实施例
结构
第二实施例的现状系统具有与第一实施例的现状系统相同的结构。然而,其现状信息包括关于“position(位置)”的值作为属性。此外,本现状系统在现状信息变化时执行对现状信息的聚合或取消。因此,聚合单元17和取消单元110具有以下附加功能。为了便于进行以下说明,考虑其中将聚合现状信息的最小聚合数设置为“3”作为聚合条件的情况。
如果更新了现状信息,则聚合单元17判断是否执行聚合,然后根据判断结果执行聚合。基于是否已满足最小聚合数来进行对是否执行聚合的判断。在执行聚合之前,聚合单元17可以向作为聚合现状信息(聚合单元17将要生成该聚合现状信息)的观察者的客户端C发送询问。
此外,如果更新了任何聚合对象现状信息,则聚合单元17更新聚合现状信息并将其写入观察者列表12中。由此,观察者列表12保持聚合现状信息的最新值,因此聚合现状信息的观察者可以在任何时候查询最新的聚合现状信息。
如果更新了现状信息,则取消单元110判断是否存在其最小聚合数不再得到满足的聚合现状信息。具体来说,在进行更新之前,取消单元110基于现状信息的属性值搜索聚合信息表13。如果,作为搜索的结果,自从现状信息的更新以来的聚合对象现状体ID的数量少于最小聚合数,则取消单元110从聚合信息表13中删除对应的条目。在删除之前,取消单元110可以向聚合现状信息的观察者发送询问。
图21和图22是示出根据本实施例的伙伴列表11、观察者列表12以及聚合信息表13的一个示例的说明图。在本示例中,客户端“Worker4”的属性“position”的值从“E City F District(E市F区)”变化到“A City B Ward(A市B分区)”,并基于属性值“A City B Ward”执行聚合。图21示出了变化之前的状态,图22示出了变化之后的状态。由于该变化的结果,位置为“A City B Ward”的现状体的数量从“2”变化到“3”,并且变得满足了基于属性值“A City B Ward”的聚合条件(参见图21(B)和图22(B)中的观察者列表12)。图22(C)是在已针对具有聚合属性值“A City B Ward”的聚合现状体ID“Manager1_AB”生成了条目的状况下的聚合信息表13。类似地,如果作为现状信息变化了的结果,任何条目的聚合现状体的数量都不再满足最小聚合数,则从观察者列表12和聚合信息表13中删除该条目。
(现状变化聚合处理)
图23是示出由服务器S执行的现状变化聚合处理的流程的一个示例的流程图。在该处理中,当现状信息变化时执行聚合。由服务器的启动来启动该处理。为了便于进行说明,现在让我们考虑已从客户端“Worker4”接收到新现状信息“<position>A City B Ward</position>intransit”的情况(参见图22)。
步骤S501:现状管理单元15进行待机,以等待更新来自任意客户端的现状信息的更新请求。在本示例中,如果从客户端“Worker4”接收到了更新请求,则处理进行到步骤S502。
步骤S502:现状管理单元15更新观察者列表12。在本示例中,将与观察者列表12中的被订购者ID“Worker4”相对应的现状信息更新为“<position>A City B Ward</position>in transit”。此外,现状管理单元15将客户端ID“Worker4”连同新现状信息的值一起传递给聚合单元17。
步骤S503:聚合单元17从新现状信息“<position>A City BWard</position>in transit”中提取属性值。在本示例中,其提取属性值“A City B Ward”。
步骤S504:聚合单元17搜索聚合信息表13,以查找所提取的属性值“A City B Ward”。如果所提取的属性值“A City B Ward”不在聚合信息表13中,则聚合单元17进行到后述步骤S507,并执行聚合(S507-S513)。即,根据聚合条件生成新聚合现状信息,该聚合条件由于现状信息的变化而新得到了满足。相反,如果所提取的属性值“A CityB Ward”在聚合信息表13中,则聚合单元17提取对应的聚合现状体ID(例如,“Manager1_AB”),然后处理进行到步骤S505。即,如果基于属性值“A City B Ward”执行聚合,则聚合单元17提取聚合现状体ID,接着进行到步骤S505。
步骤S505:聚合单元17基于所提取的聚合现状体ID(例如,“Manager1_AB”)来更新观察者列表12。具体来说,聚合单元17获得聚合现状体ID“Manager1_AB”的聚合对象现状体ID。此外,聚合单元17从观察者列表12获得聚合对象现状体的现状信息。聚合单元17生成聚合现状信息(其包括所获得的现状信息),并将其写入观察者列表12。由此,更新了聚合现状信息。
步骤S506:现状通知单元16将聚合现状信息(其被写入观察者列表12)发送给它的观察者。
步骤S507-S509:如果判定所更新的现状信息的属性值“A City BWard”不在聚合信息表13中(步骤S504),则聚合单元17查询观察者列表12,并判断在与同一观察者ID相关联的现状信息中其现状信息具有属性值“A City B Ward”的现状体的数量是否为3个或更多个。如果判定为3个或更多个,即,如果判定聚合条件得到了满足,则处理进行到步骤S510。如果聚合条件未得到满足,则处理进行到后述步骤S514,并发送对现状信息的通常的通知。
步骤S510:聚合单元17生成新聚合现状体ID,例如“Manager1_AB”。此外,聚合单元17查询观察者列表12,并确定聚合对象现状体ID和订购者ID。具体来说,聚合单元17将订购者ID设置为与被订购者ID“Worker4”相关联的观察者ID,例如“Manager1”。此外,在与观察者ID“Manager1”相关联的具有属性值“A City B Ward”的现状信息中,聚合单元17将聚合对象现状体ID设置为与现状信息相关联的被订购者ID。
步骤S511:聚合单元17向观察者列表12添加新条目。在该新条目中,写入所生成的聚合现状体ID“Manager1_AB”作为被订购者ID,写入聚合现状信息的订购者ID“Manager1”作为观察者ID。
步骤S512:聚合单元17在聚合信息表13中生成新条目,并写入通过步骤S510确定的订购者ID、聚合现状体ID以及聚合对象现状体ID。此外,写入所更新的现状信息的属性值(在本示例中为“A City B Ward”)作为聚合属性值。
步骤S513:聚合单元17从观察者列表12获得与所生成的聚合对象现状体ID相对应的现状信息,并生成包括所有现状信息的聚合现状信息。将所生成的聚合现状信息写入观察者列表12,作为聚合现状体ID“Manager1_AB”的现状信息。
步骤S506:如果更新了观察者列表12中的现状信息,则现状通知单元16将所更新的现状信息发送给它的观察者。具体来说,现状通知单元16将所生成的聚合现状信息发送给所更新的现状信息(在此情况下是所写入的聚合现状信息)的观察者“Manager1”。
步骤S514:现状通知单元16将对由客户端“Worker4”更新的现状信息的通知发送给该现状信息的观察者“Manager1”。
步骤S515:重复执行以上步骤S501-S514中的处理,直到服务器的电源被切断为止。
通过执行以上处理,生成了新聚合现状信息(已变得满足其聚合条件),并在更新了其现状信息的情况下发送对其的通知。因此,即使现状信息发生变化,也减轻了观察者的必须根据该变化对各现状体的现状信息逐个地进行再聚合的负担。此外,存在的一个优点在于:观察者可以按属性单位来监视该变化。
在上述步骤S510之前,可以将针对是否适合进行聚合的询问发送给聚合单元17要新生成的聚合现状信息的观察者,并可以根据对该询问的响应执行从步骤S510开始的处理。还存在的优点在于:观察者可以预先知道是否将要执行聚合。
(现状变化聚合取消处理)
图24是示出由服务器S执行的现状变化聚合取消处理的流程的一个示例的流程图。该处理在现状信息变化了时取消聚合。由服务器的启动来启动该处理。该处理通过现状信息的变化来取消聚合。这里,让我们来考虑以下情况:客户端“Worker4”的现状信息已从“<position>A CityB Ward</position>in transit”(参见图22(B))变化为“<position>CCity D District</position>in transit”(参见图21(B))。
步骤S601:现状管理单元15进行待机,以等待来自任意客户端的对更新现状信息的请求。在本示例中,如果从客户端“Worker4”接收到更新请求,则处理进行到步骤S602。
步骤S602:现状管理单元15更新观察者列表12。在本示例中,将与观察者列表12中的被订购者ID“Worker4”相对应的现状信息更新为“<position>C City D District</position>in transit”。此外,现状管理单元15将客户端ID“Worker4”、更新前的现状信息值“<position>A City B Ward</position>in transit”以及更新后的现状信息值“<position>C City D District</position>in transit”传递给取消单元110。
步骤S603:取消单元110从更新前的现状信息“<position>A CityB Ward</position>in transit”中提取属性值。在本示例中,取消单元110提取属性值“A City B Ward”。
步骤S604:取消单元110搜索聚合信息表13,以查找所提取的属性值“A City B Ward”。如果所提取的属性值“A City B Ward”不在聚合信息表13中,则取消单元110进行到后述步骤S612。即,由于旧的现状信息不是聚合对象现状信息,因此不必取消聚合,因而处理进行到步骤S612。相反,如果所提取的属性值“A City B Ward”在聚合信息表13中,则处理进行到步骤S605。
步骤S605:取消单元110从更新后的现状信息“<position>C CityD District</position>in transit”中提取属性值。在本示例中,取消单元110提取属性值“C City DDistrict(C市D区)”。
步骤S606:取消单元110判断更新前的现状信息的属性值是否与更新后的现状信息的属性值相匹配。即,取消单元110判断是否由于对现状信息的更新而改变了属性值。如果它们相匹配,则处理进行到步骤S611。如果它们不相匹配,则处理进行到步骤S607。
步骤S607:取消单元110提取与聚合对象现状体ID“Worker4”相对应的聚合现状体ID(例如“Manageri_AB”),然后进行到步骤S608。即,如果正在基于更新前的现状信息的属性值“A City B Ward”执行聚合,则提取该聚合现状体ID,然后处理进行到步骤S608。
步骤S608:取消单元110查询聚合信息表13,并从与聚合现状体ID“Manager1_AB”相关联的聚合对象现状体ID中删除“Worker4”。即,从具有旧属性值“A City B Ward”的聚合对象现状体中去除客户端“Worker4”。
步骤S609:取消单元110判断具有聚合属性值“A City B Ward”的聚合对象现状体ID的数量是否满足最小聚合数。如果满足,则处理进行到后述步骤S611。如果不满足,则处理进行到步骤S610。
步骤S610:取消单元110从聚合信息表13中删除包括聚合属性值“A City B Ward”的条目。
步骤S611:如果与更新前的现状信息所具有的旧聚合属性值“A CityB Ward”相关联的聚合对象现状体ID的数量大于或等于最小聚合数,则聚合单元17对这些聚合对象现状体ID的聚合现状信息进行更新。这是因为必须更新聚合现状信息,因为聚合对象现状体的数量减少了。现状通知单元16将对更新后的聚合现状信息的通知发送给它的观察者。
步骤S612:现状通知单元16将对客户端“Worker4”的更新后的现状信息的通知发送给它的观察者“Manager1”。
步骤S613:重复执行以上步骤S601-S612中的处理,直到服务器的电源被切断为止。
通过执行以上处理,如果由于对现状信息的更新而不再满足最小聚合数,则自动取消聚合,这使得可以减轻观察者的执行取消的负担。
在步骤S610之前,向聚合现状信息的观察者发送针对是否适合取消聚合的询问,并且可以根据对该询问的响应删除聚合信息表13中的条目。观察者可以预先确认是否将取消聚合。
(本发明的效果)
根据本发明,按属性对多个现状体的现状信息进行聚合,并发送其合并的通知,这使得观察者可以按照现状信息属性来接收现状信息更新通知。因此,减轻了观察者的对所接收的现状信息进行分类的负担。
此外,由于将新注册的现状信息自动添加到聚合对象中,因此观察者不必逐个地订购所有现状体的现状信息,这减轻了观察者的订购负担。
此外,现状管理设备不仅保持经受聚合的现状信息的最新值,而且保持聚合现状信息的最新值。因此,即使观察者不保存聚合现状信息,观察者也总是可以查询聚合现状信息。
本发明可以适应于生成人和物的现状信息的任何系统,如分布式系统、库存管理系统、使用专用网络的传感器系统,等等,并且还可以适应于普遍存在的计算社会。
其他实施例
本发明的范围包括使得计算机执行上述方法的计算机程序,和其中记录有该程序的计算机可读存储介质。这里,计算机可读存储介质的示例包括软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blue-ray盘)以及半导体存储器。
上述计算机程序并不限于记录在上述存储介质上的计算机程序,而可以是通过例如电信线路、无线或有限通信线路或以因特网为代表的网络来传送的计算机程序。
尽管只选择了所选实施例来例示本发明,但是本领域的技术人员根据本公开内容应该清楚,这里在不脱离如在所附权利要求所限定的本发明的范围的情况下可以进行各种修改和变型。此外,仅仅出于例示的目的给出了对根据本发明的实施例的上述说明,而不是为了对如所附权利要求及其等同物所限定的本发明进行限制。
Claims (13)
1.一种由连接到多个客户端的现状管理设备来执行的现状管理方法,其包括以下步骤:
管理步骤,其从所述客户端接收包括属性值的现状信息,并将所接收的现状信息的提供方客户端与所述现状信息相关联并进行存储;
通知接受方管理步骤,其存储通知接受方管理表,在该通知接受方管理表中,通过所述管理步骤管理的现状信息的提供方客户端与各提供方客户端的现状信息的通知接受方客户端相关联;
聚合步骤,其生成聚合现状信息,该聚合现状信息包括通知被发送给一个通知接受方客户端的多个现状信息中的具有相同属性值的现状信息;以及
聚合通知步骤,其向所述通知接受方客户端通知通过所述聚合步骤生成的聚合现状信息;其中,
所述管理步骤接受对新客户端及其现状信息的注册,并且,
所述聚合步骤包括以下子步骤:
指定具有与所述新客户端的所述现状信息的属性值相同的属性值的现状信息的提供方客户端,及与所述新客户端的所述现状信息具有相同属性值的现状信息的通知接受方客户端;以及
生成聚合现状信息,其包括所述指定的提供方客户端的现状信息和所述新客户端的现状信息,并且,
所述聚合通知步骤将通过所述聚合步骤生成的聚合现状信息通知给通过所述聚合步骤指定的所述通知接受方客户端。
2.根据权利要求1所述的现状管理方法,其中,
所述通知接受方管理步骤接受对通过所述管理步骤管理的现状信息的提供方客户端与其现状信息的通知接受方客户端的新关联的注册,并且还将所接受的关联存储在所述通知接受方管理表中。
所述聚合步骤包括以下子步骤:
提取所述新关联中的提供方客户端的现状信息中所包括的所述属性值;
对所述通知接受方管理表进行搜索,以查找如下已有提供方客户端,该已有提供方客户端是与所述新关联中的通知接受方客户端相关联的已有提供方客户端,并且其中所述提取的属性值包括在该已有提供方客户端的现状信息中;以及
生成聚合现状信息,其包括所搜索出的已有提供方客户端的现状信息和所述新关联中的提供方客户端的现状信息;并且,
所述聚合通知步骤将所述聚合现状信息通知给所述新关联中的通知接受方客户端。
3.根据权利要求1所述的现状管理方法,其中,
所述聚合步骤包括以下子步骤:
从任意客户端接受对包括属性值的聚合条件的指定;
指定这样的现状信息的提供方客户端,该现状信息是在所述通知接受方管理表中将所述指定方客户端作为所述通知接受方的现状信息中的具有所指定的属性值的现状信息;以及
生成包括所述指定的提供方客户端的现状信息的聚合现状信息,并且,
所述聚合通知步骤向所述聚合条件的指定方客户端发送对所述生成的聚合现状信息的通知。
4.根据权利要求1所述的现状管理方法,其中,
所述管理步骤从任意客户端接受对现状信息的更新;
所述聚合步骤包括以下子步骤:
指定具有与所述更新的现状信息相同的属性值的现状信息的提供方客户端;
在所述通知接受方管理表中指定与所述指定的提供方客户端相关联的通知接受方客户端;以及
生成聚合现状信息,其包括所述指定的提供方客户端的现状信息和所述更新的现状信息,并且,
所述聚合通知步骤向通过所述聚合步骤指定的所述通知接受方客户端发送通过所述聚合步骤生成的聚合现状信息的通知。
5.根据权利要求1所述的现状管理方法,其中,
所述聚合步骤存储将以下各项相关联的聚合信息表:所述相同的属性值;聚合对象现状信息的提供方客户端,该聚合对象现状信息是具有所述相同的属性值的现状信息;基于所述聚合对象现状信息生成的聚合现状信息的标识符;以及所述聚合现状信息的所述通知接受方客户端,并且
所述管理步骤将以下两者相关联并进行管理:通过所述聚合步骤生成的聚合现状信息;和所述聚合现状信息的标识符。
6.根据权利要求5所述的现状管理方法,还包括以下步骤:
取消步骤,该取消步骤包括以下子步骤:
从任意客户端接受对存储在所述聚合信息表中的任何属性值的指定;和
从所述聚合信息表中删除所述客户端是所述通知接受方客户端的聚合现状信息之中的具有所述指定的属性值的聚合现状信息的条目。
7.根据权利要求5所述的现状管理方法,所述聚合步骤包括以下子步骤:
如果由所述管理步骤管理的任意现状信息的属性值发生了变化,则更新所述聚合信息表;
判断具有与所述现状信息变化之前的属性值相同的属性值的现状信息的提供方客户端的数量是否下降到低于规定值;以及
如果判定所述提供方客户端的数量已下降到低于所述规定值,则删除与所述聚合信息表中的所述属性值相关联的条目。
8.根据权利要求1所述的现状管理方法,还包括聚合许可获取步骤,该聚合许可获取步骤在所述聚合现状信息的生成之前将关于进行聚合的合适性的询问发送给具有所述相同属性值的现状信息的提供方客户端,并获取对该询问的响应,并且
所述聚合步骤根据在所述聚合许可获取步骤中获取的响应生成聚合现状信息。
9.根据权利要求1所述的现状管理方法,还包括聚合许可获取步骤,该聚合许可获取步骤在所述聚合现状信息的生成之前将关于是否适合进行聚合的询问发送给所述聚合现状信息的通知接受方客户端,并获取对该询问的响应,并且
所述聚合步骤根据在所述聚合许可获取步骤中获取的响应生成聚合现状信息。
10.根据权利要求1所述的现状管理方法,还包括通知规则存储步骤,该通知规则存储步骤存储定义了聚合现状信息的通知条件的通知规则,并且
所述聚合步骤基于所述通知规则判断是否生成聚合现状信息。
11.根据权利要求1所述的现状管理方法,还包括以下步骤:
通知规则存储步骤,其存储定义了聚合现状信息的通知条件的通知规则;
其中,所述聚合步骤基于所述通知规则判断是否生成聚合现状信息;并且,
所述聚合通知步骤基于所述通知规则判断是否发送所述聚合现状信息。
12.根据权利要求1所述的现状管理方法还包括通知规则存储步骤,该通知规则存储步骤存储定义了聚合现状信息的通知条件的通知规则,并且
所述聚合通知步骤基于所述通知规则判断是否发送所述聚合现状信息。
13.一种连接到多个客户端的现状管理设备,其包括:
管理装置,其从所述客户端接收包括属性值的现状信息,并将所接收的现状信息的提供方客户端与所述现状信息相关联并进行存储;
通知接受方管理装置,其存储通知接受方管理表,该通知接受方管理表将通过所述管理装置管理的现状信息的提供方客户端与各提供方客户端的现状信息的通知接受方客户端相关联;
聚合装置,其生成聚合现状信息,该聚合现状信息包括对其的通知要被发送给一个单个通知接受方客户端的多个提供方客户端的现状信息中的具有相同的属性值的现状信息;以及
聚合通知装置,其向所述通知接受方客户端通知通过所述聚合装置生成的聚合现状信息;其中,
所述管理装置接受对新客户端及其现状信息的注册,并且,
所述聚合装置包括以下子装置:
指定具有与所述新客户端的所述现状信息的属性值相同的属性值的现状信息的提供方客户端,及与所述新客户端的所述现状信息具有相同属性值的现状信息的通知接受方客户端的装置;以及
生成聚合现状信息的装置,该聚合现状信息包括所述指定的提供方客户端的现状信息和所述新客户端的现状信息,并且,
所述聚合通知装置将通过所述聚合装置生成的聚合现状信息通知给通过所述聚合装置指定的所述通知接受方客户端。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005345214A JP4616758B2 (ja) | 2005-11-30 | 2005-11-30 | プレゼンス管理方法及びプレゼンス管理装置 |
JP2005345214 | 2005-11-30 | ||
JP2005-345214 | 2005-11-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1975769A CN1975769A (zh) | 2007-06-06 |
CN1975769B true CN1975769B (zh) | 2012-07-04 |
Family
ID=37907732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006100792932A Expired - Fee Related CN1975769B (zh) | 2005-11-30 | 2006-04-28 | 现状管理方法和设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8527600B2 (zh) |
EP (1) | EP1793561A1 (zh) |
JP (1) | JP4616758B2 (zh) |
KR (1) | KR100781958B1 (zh) |
CN (1) | CN1975769B (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005123970A (ja) * | 2003-10-17 | 2005-05-12 | Vodafone Kk | プレゼンス表示システムにおけるサーバー装置及びクライアント装置 |
JP4267633B2 (ja) * | 2006-02-27 | 2009-05-27 | 株式会社日立製作所 | ネットワークシステム及びトラヒック情報集約装置 |
US9241038B2 (en) * | 2006-05-23 | 2016-01-19 | Microsoft Technology Licensing, Llc | User presence aggregation at a server |
KR100906109B1 (ko) * | 2007-06-20 | 2009-07-07 | 엔에이치엔(주) | 3a 기반의 다양한 어플리케이션 상태를 제공하는유비쿼터스 프리젠스 서비스 방법 및 시스템 |
US8291067B2 (en) * | 2007-06-29 | 2012-10-16 | Microsoft Corporation | Providing access to presence information using multiple presence objects |
CN101809605B (zh) * | 2007-08-14 | 2014-04-09 | 三星电子株式会社 | 用于出席信息的基于会话发起协议的动态广告的方法和系统 |
US8904044B2 (en) | 2007-09-28 | 2014-12-02 | International Business Machines Corporation | Adapting compression techniques over data based on context |
US8060121B1 (en) * | 2007-11-06 | 2011-11-15 | Sprint Spectrum L.P. | Mobile network presence service with load-based notification throttling |
US9088578B2 (en) * | 2008-01-11 | 2015-07-21 | International Business Machines Corporation | Eliminating redundant notifications to SIP/SIMPLE subscribers |
US20090299985A1 (en) * | 2008-05-27 | 2009-12-03 | Telefonaktiebolaget Lm Ericsson (Publ) | Network Based Address Book with Optional Storage of Data |
US8903903B2 (en) * | 2008-06-13 | 2014-12-02 | Tekelec, Inc. | Methods, systems, and computer readable media for providing presence data from multiple presence information providers |
US8447808B2 (en) * | 2008-09-19 | 2013-05-21 | International Business Machines Corporation | Virtual presence server |
US8473733B2 (en) | 2008-10-14 | 2013-06-25 | Research In Motion Limited | Method for managing opaque presence indications within a presence access layer |
US8103730B2 (en) | 2008-10-15 | 2012-01-24 | Research In Motion Limited | Use of persistent sessions by a presence access layer |
US8751584B2 (en) | 2008-10-16 | 2014-06-10 | Blackberry Limited | System for assignment of a service identifier as a mechanism for establishing a seamless profile in a contextually aware presence access layer |
US8386769B2 (en) | 2008-11-21 | 2013-02-26 | Research In Motion Limited | Apparatus, and an associated method, for providing and using opaque presence indications in a presence service |
JP2012518326A (ja) * | 2009-02-13 | 2012-08-09 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | リソースデータを処理するための方法及び装置 |
US8458321B2 (en) | 2009-06-26 | 2013-06-04 | Motorola Solutions, Inc. | Method and system of updating presence information in a communication system |
US9516123B2 (en) * | 2009-08-20 | 2016-12-06 | Motorola Solutions, Inc. | Method for presence information subscription in a group communications system |
CN102129631B (zh) * | 2010-01-13 | 2015-04-22 | 阿里巴巴集团控股有限公司 | Spu属性聚合的方法、设备和系统 |
US8285779B2 (en) * | 2010-02-08 | 2012-10-09 | International Business Machines Corporation | Programmable presence virtualization |
CN102783117A (zh) | 2010-03-03 | 2012-11-14 | 瑞典爱立信有限公司 | 通信系统中的好友预订的存在体授权 |
KR101948062B1 (ko) * | 2012-06-22 | 2019-02-14 | 에스케이플래닛 주식회사 | 사용자 프레즌스 정보 제공을 위한 장치 및 방법 |
CN109189810B (zh) * | 2018-08-28 | 2021-07-02 | 拉扎斯网络科技(上海)有限公司 | 查询方法、装置、电子设备及计算机可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1472916A (zh) * | 2003-06-24 | 2004-02-04 | 北京邮电大学 | 大规模分布式入侵检测系统的数据融合机制 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6735587B2 (en) * | 2000-07-28 | 2004-05-11 | International Business Machines Corporation | Maintaining pre-computed aggregate views incrementally in the presence of non-minimal changes |
EP1366435A2 (en) * | 2000-08-22 | 2003-12-03 | Symbian Limited | Database for use with a wireless information device |
US7433922B2 (en) * | 2001-05-11 | 2008-10-07 | Varia Llc | Method and system for collecting and displaying aggregate presence information for mobile media players |
AU2002255030B2 (en) * | 2001-05-11 | 2006-08-10 | Nokia Corporation | Mobile instant messaging and presence service |
US20030217142A1 (en) * | 2002-05-15 | 2003-11-20 | Microsoft Corporation | Method and system for supporting the communication of presence information regarding one or more telephony devices |
JP3980421B2 (ja) * | 2002-06-27 | 2007-09-26 | 富士通株式会社 | プレゼンス管理方法及び装置 |
JP2004072485A (ja) * | 2002-08-07 | 2004-03-04 | Nippon Telegr & Teleph Corp <Ntt> | プレゼンス情報通知装置、プレゼンス情報通知プログラム、プログラム記録媒体、及びプレゼンス情報通知方法 |
JP3812828B2 (ja) * | 2002-08-21 | 2006-08-23 | 日本電信電話株式会社 | 複数ユーザの位置情報および帯域情報を管理および通知する通信方法および通信システム、ならびにそのプログラムとProxyプレゼンスサーバ |
JP2004348680A (ja) | 2003-05-26 | 2004-12-09 | Fujitsu Ltd | 複合イベント通知システムおよび複合イベント通知プログラム |
JP2005038208A (ja) * | 2003-07-15 | 2005-02-10 | Ntt Data Corp | プレゼンス情報管理装置およびそのプログラム |
US20050228895A1 (en) * | 2004-03-30 | 2005-10-13 | Rajesh Karunamurthy | Method, Web service gateway (WSG) for presence, and presence server for presence information filtering and retrieval |
JP4214941B2 (ja) * | 2004-04-09 | 2009-01-28 | 日本電気株式会社 | プレゼンス情報提供システム、その方法およびサーバ |
EP1587239A1 (en) * | 2004-04-14 | 2005-10-19 | Siemens Mobile Communications S.p.A. | Method of and apparatus for server-side management of buddy lists |
US20070198725A1 (en) * | 2004-10-06 | 2007-08-23 | Morris Robert P | System and method for utilizing contact information, presence information and device activity |
US7676577B2 (en) * | 2004-12-21 | 2010-03-09 | Alcatel Lucent | Scalable presence distribution system and method |
JP4736945B2 (ja) * | 2006-05-18 | 2011-07-27 | 株式会社日立製作所 | 状態情報管理システム及び状態情報管理サーバ |
-
2005
- 2005-11-30 JP JP2005345214A patent/JP4616758B2/ja not_active Expired - Fee Related
-
2006
- 2006-03-28 EP EP06251677A patent/EP1793561A1/en not_active Withdrawn
- 2006-03-30 US US11/392,625 patent/US8527600B2/en not_active Expired - Fee Related
- 2006-03-30 KR KR1020060028959A patent/KR100781958B1/ko not_active IP Right Cessation
- 2006-04-28 CN CN2006100792932A patent/CN1975769B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1472916A (zh) * | 2003-06-24 | 2004-02-04 | 北京邮电大学 | 大规模分布式入侵检测系统的数据融合机制 |
Also Published As
Publication number | Publication date |
---|---|
US8527600B2 (en) | 2013-09-03 |
CN1975769A (zh) | 2007-06-06 |
KR100781958B1 (ko) | 2007-12-06 |
JP4616758B2 (ja) | 2011-01-19 |
JP2007148969A (ja) | 2007-06-14 |
EP1793561A1 (en) | 2007-06-06 |
KR20070056897A (ko) | 2007-06-04 |
US20070124158A1 (en) | 2007-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1975769B (zh) | 现状管理方法和设备 | |
US9760639B2 (en) | System and method for managing information flow between members of an online social network | |
US20060242239A1 (en) | Presence information processing method and computer | |
US8103757B2 (en) | Status management device and status management method | |
US7720952B2 (en) | Presence information management system and presence information management server | |
US20090282005A1 (en) | Sip network-based content sharing method and system | |
US7814120B2 (en) | List management server for managing updating of list by third-party terminal, list management system, list managing method, and program | |
US20080183866A1 (en) | Presence communication system | |
CN105991408B (zh) | 一种消息处理方法、装置及处理服务器 | |
WO2007032549A1 (ja) | コンテンツ配信方法及びシステム | |
WO2007068195A1 (fr) | Procede et systeme de demande d'informations d'utilisateur, agent de recherche, client et serveur | |
US20090216749A1 (en) | Identity based content filtering | |
KR20080037081A (ko) | 프리젠스 서비스를 실현하기 위한 방법 및 시스템, 프리젠스 정보 처리 장치 및 프리젠스 클라이언트 | |
US20080183816A1 (en) | Method and system for associating a tag with a status value of a principal associated with a presence client | |
US9130852B2 (en) | Generating a summary of users that have accessed a resource | |
JP2008108105A (ja) | 情報提供装置、情報提供方法および情報提供プログラム | |
JP2005063019A (ja) | プレゼンスシステム及びプレゼンスフィルタリング方法 | |
JP5610145B2 (ja) | 電子メール監査装置、電子メール監査方法、プログラム、記憶媒体 | |
KR100457325B1 (ko) | 메세지 송수신 및 게시 시스템 및 송수신 및 게시 방법 | |
JP3890582B2 (ja) | 情報流通システム及び情報流通方法 | |
KR101165545B1 (ko) | Xml 문서 관리 방법 및 그 장치 | |
US8468147B2 (en) | Search server interconnection method, search server and system for mobile search | |
WO2016169148A1 (zh) | 基于rcs公众平台的业务处理方法和装置 | |
JP2024101928A (ja) | 外筆対応不動産推定システム、外筆対応不動産推定方法及びプログラム | |
JP2016031742A (ja) | 配信端末、配信サーバ、ユーザ端末及び配信システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120704 Termination date: 20150428 |
|
EXPY | Termination of patent right or utility model |