Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 133989 Details for
Bug 271895
[tcf][api] Grouping service proposal
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Update of previous proposal
grouping.txt (text/plain), 7.96 KB, created by
Daniel Friederich
on 2009-04-30 14:16:55 EDT
(
hide
)
Description:
Update of previous proposal
Filename:
MIME Type:
Creator:
Daniel Friederich
Created:
2009-04-30 14:16:55 EDT
Size:
7.96 KB
patch
obsolete
>Grouping service > > >The grouping service allows grouping of a set of resources/contexts together in >order to combine them and to perform operations on all the contexts >collectively. > >A service implementation can implement the Grouping service so that a resource >can only be added to a single group, by doing so it would provide a way to >reserve the resource for the client creating the group. However this behavior >is not mandatory and it is not enforced that only the client creating the group >is using the group or its children. > >The grouping service on its own only provides the capabilities to create, list >and remove groups, it does not provide the operations for which the group was >built. In order to perform operations on groups, other services have to be >used. For example the standard RunControl service could expose and support >operations on a group context representing a set of cores with atomic resume >and suspend operations. > >The service uses standard format for error reports, see Error Report Format in >the TCF specification. > > >Commands: > > >Get Context > > >C <token> Grouping getContext <string: context ID> > > >R <token> <error report> <context data> > ><context data> > null > <object> > > > The command retrieves context information for given context identifier. > >Context data object shall, at least, contain the property ID" : <string>. > > >Predefined group service context properties are: > >"ID" : <string> - Identifier of the context, same as getContext command >argument. The ID is chosen by the service implementation. > >"Name" : <string> - The group name is given by the creator of the group. The >name is preferably unique, but this is not required or checked. > >"Constraints" : <array of constraint ConstraintIDs> - List of constraints. > >"ParentID" : <string> - Identifier of the parent context. > >"supportsGrouping" : <boolean> - indicates is this context can be part of a >group. > >"isGroup" : <boolean> - is true for contexts representing a group. > > > >Get Children > > >C <token> Grouping getChildren <string: context ID> > > >R <token> <error report> <array of context entries> > ><array of context entries> > > - null > - [ ] > - [ <context entry list> ] > > ><context entry list> > > - <context entry> > - <context entry list> <context entry> > > ><context entry> > > - <string: context ID> > - <array of context IDs> > > ><array of context IDs> > > - null > - [ ] > - [ <context ID list> ] > > ><context ID list> > > - <string: context ID> > - <context ID list> <string: context ID> > >The command provides access to the context hierarchy of the grouping service. > >The context hierarchy contains grouping contexts, elements which are part of the group as well as contexts organizing the hierarchy. > >GetChildren returns a list of direct children or links to contexts that are rooted elsewhere in the context >hierarchy. A direct child is represented by a string context identifier. >A link, on the other hand is represented as an array of context identifiers making up a path from the root >to the actual node. > >For example, we have a processor with two cores and a group context composed of those two cores. > >{"Name" : "Processor0", "ID":"ID_P0"} > {"Name" : "Core0", "ID":"ID_C0"} > {"Name" : "Core1", "ID":"ID_C1"} >{"Name" : "Core Group", "ID":"ID_CG0", "Constraints":["SyncRunControl"]} > >With this setup, the following commands and responses would take place: > >C "1234" Grouping getChildren "ID_CG0" >R "1234" [["ID_P0", "ID_C0"], ["ID_P0", "ID_C1"]] > > > >Get Member Candidates > > >C <token> Grouping getMemberCandidates <string: group context ID> <string: context ID> > > >R <token> <error report> <array of context IDs> > > >Get member candidates provides a view to the hierarchy of contexts which could be added to a specific group. >Only nodes which can be added while satisfying the constraints (or parents of those) are exposed. >The group context ID identifies the groups context for which possible additional members are returned. >The context ID represents the parent node for which the hierarchy is retrieved. NULL as member context ID provides the root set of member candidates. >The exposed context hierarchy may change when the group changes, >for example when members are added to the group all contexts which can not be combined with the added contexts are no longer exposed. > > > >Create Group > > >C <token> Grouping createGroup <String: name> <array of constraint instances> > ><array of constraint instances> > > - [ ] > - [ constraint instance list ] > ><constraint instance list> > > - <object: constraint instance> > - <constraint instance list> <object: constraint instance> > > >R <token> <error report> <context data> > > >This command creates a new group. > >The group name is provided by the creator of the group and can be used in a user interface to represent the group. The returned context is identified by a service defined context id. > >The (possibly empty) list of constraint instances defines the purpose and behavior of the group. The service allows only to add members which satisfy all constraints to be added. >An empty set of constraint instances represents a group with no explicit restrictions. > >Predefined constraint instance properties are: > >"ConstraintID" : <string> - Identifier of the constraint. Possible constraint identifier can be retrieved using >the getContraints command. > > >Remove Group > > > >C <token> Grouping removeGroup <string: context ID> > > > >R <token> <error report> > > > >This command removes the group from the set of existing groups. When a group is >removed, the service shall send a contextRemoved notification. > > > >Add Context > > >C <token> Grouping addContext <string: context ID> <array of context >IDs> > > >R <token> <error report> > > > >This command adds contexts to an existing group. The service shall send a >contextChanged event when a context is added to a group. >Clients should add contexts retrieved through the getMemberCandidates command. > > >Remove Context > > > >C <token> Grouping removeContext <string: context ID> <array of >context IDs> > > > >R <token> <error report> > > > >This command removes contexts from a group. The service shall send a >contextChanged event when a context is removed from a group. > > >Get Constraints > >C <token> Grouping getConstraints > > >R <token> <error report> <array of constraints> > > ><array of constraints> > > - [ ] > - [ <constraints list> ] > ><constraints list> > > - <object: constraint> > - <constraints list> <object: constraint> > >A grouping service provides a list of constraints which control the semantic of a group context. >If a group contains one or more constraints, then only members which support all constraints can be added. > > >Predefined constraint properties are: > >"ConstraintID" : <string> - Defines the semantic of the constraint. >It is used as element in the constraints grouping context property and in the create group command. > > Predefined constraint constraint ID names are: > > "SyncRunControl" : All members are synchronously controlled by run control operations. > >"Name" : <string> - Display name to identify the constraint in a user interface. > >"Description" : <string> - User interface description of the constraint. > > >Events > > >The grouping service broadcasts notification events when groups are created, >removed, when members are added or removed from a group or when properties of existing groups change. > > > >E Grouping contextAdded <array of context data> > > >This event is sent when new group contexts are added. > > > >E Grouping contextRemoved <array of context IDs> > > >This event is sent when group contexts are removed. > > > >E Grouping contextChanged <array of context data> > > >This event is sent when the properties of a group context, typically the >composition, are changed. >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 271895
:
133963
| 133989